我需要显示mysql数据库中的记录,其中特定列只有字母表。
例如,
表名:数据
column
abcde
12345
xyz
123
所以输出应该只是abcde和xyz。 到目前为止,我尝试使用模式匹配,但没有运气
这里有什么用处
SELECT * FROM listing WHERE Zip LIKE '[^a-zA-Z]'
答案 0 :(得分:8)
试试此代码
SELECT * FROM listing WHERE Zip REGEXP '^[A-z]+$'
答案 1 :(得分:2)
试试regexp:
SELECT * FROM listing WHERE Zip REGEXP '^[a-zA-Z.]+$'
答案 2 :(得分:0)
您也可以尝试此代码
SELECT * FROM listing WHERE Zip NOT LIKE '%[0-9]%'
答案 3 :(得分:-1)
将RLIKE用于正则表达式:SELECT * FROM listing WHERE Zip RLIKE '[^a-zA-Z]*$'
。
此外," ^"你的正则表达式否定了类模式。如果您尝试将其用作"前线"锚,它在错误的地方,你的正则表达式返回拉链中除a-zA-Z
以外的东西。如果您想要只有alpha的条目,请移动" ^"方括号外:SELECT * FROM listing WHERE Zip RLIKE '^[a-zA-Z]*$'