选择从这个字母表开始的数据?

时间:2014-06-24 10:26:30

标签: mysql

select * from airports 
where field_name
like %A% and field_name like %B% and field_name like %C% and field_name like %D%
and field_name like %E% and field_name like %F% and field_name like %G% 
and field_name like %H% and field_name like %I% and field_name like %J%
and field_name like %K% and field_name like %L% and field_name like %M%
and field_name like %N% and field_name like %O% and field_name like %P% 
and field_name like %Q% and field_name like %R% and field_name like %S%
and field_name like %T% and field_name like %V% and field_name like %U%
and field_name like %W% and field_name like %Y% and field_name like %Z%

2 个答案:

答案 0 :(得分:1)

您缺少列的where关键字,而不是and使用or条件。

这样的事情:

select * from airports where 
column_name like 'A%' or column_name like 'B%' ......

此外,如果您要检查列名是否以特定字母开头,那么通配符应该只是最后一个

column_name like 'A%'

或更好地使用REGEX:

WHERE column_name REGEXP '^[A-Z]'

答案 1 :(得分:1)

您可以使用LOCATE()查询包含您感兴趣的字母的字符串的第一个字母:

WHERE LOCATE(LEFT(field_name, 1), 'ABCDEFGHIJKLMNOPQRSTUVWYZ')

这将返回name以任何这些字母开头的结果(实际上所有字母都可以安全用于X)。

或者,使用正则表达式:

WHERE field_name REGEXP '^[A-Z]'

在需要的地方更改字符集。

相关问题