在MySQL中,下划线用于表示单个字符的通配符。您可以在此处阅读有关该模式匹配的更多信息。
编写方式中,查询将拉出id列仅是一个字符的任何行,而无需更改任何内容。
这是一个SQL Fiddle示例。
编辑
一个解决问题的技巧是确保前缀代码前后没有空格。如果存在,并且需要删除它,请添加TRIM():
SELECt *FROM myTableWHERe TRIm(id) LIKE '_';
这是TRIM的示例。
编辑2
希望对您的怪异行为有一些解释。在MySQL中,如果一个字符上有尾随空格,那么如果您现在说这个
id='Z';所看到的话,它将仍然匹配。但是,前导空格将不匹配此空格,但仍将通过TRIM()进行纠正,因为这会删除varchar前端和后端的空格。
TL; DR Z后面有空白,这是造成问题的原因。



