0
从字符串排除字母字符我有几个两个字符串包含相同的数字:上红移
01,02,03等,但是,也有其他人看起来像这样:
0P,如, JJ,F1,F2,XP,PK,TL,WQ
我正在寻找排除在第二行与红移查询使用他们的“不喜欢”的语法。尝试了几种组合,无法让它起作用。理想情况下,我正在寻找一种方法来排除包含字母字符的任何两个字符串。
从字符串排除字母字符我有几个两个字符串包含相同的数字:上红移
01,02,03等,但是,也有其他人看起来像这样:
0P,如, JJ,F1,F2,XP,PK,TL,WQ
我正在寻找排除在第二行与红移查询使用他们的“不喜欢”的语法。尝试了几种组合,无法让它起作用。理想情况下,我正在寻找一种方法来排除包含字母字符的任何两个字符串。
尝试用正规表示
http://dev.mysql.com/doc/refman/5.1/en/regexp.html
SELECT *
FROM YourTable
WHERE columnName REGEXP '[0-9]+';
或者,如果你想限制为两个字符
SELECT *
FROM YourTable
WHERE columnName REGEXP '[0-9][0-9]';
你说要to exclude any two character string that includes an alphabetic character.
这把所有地方都字符是数字。
不工作(请注意,我在Amazon Redshift上)。语法会不同吗?我的代码如下所示:'where right(column_id,2)REGEXP'[0-9] [0-9]'' – user2022284
我找到了另一个解决方案http://stackoverflow.com/questions/5064977/detect-if-value- is-number-in-mysql –
您还有[** REGEXP_REPLACE **](http://docs.aws.amazon.com/redshift/latest/dg/REGEXP_REPLACE.html)您可以将所有数字替换为''' '看看你是否得到长度为0的字符串,,,或者是所有的字母,看看长度是否相同。但我没有访问红移给你正确的语法 –