2016-02-25 43 views
0

从字符串排除字母字符我有几个两个字符串包含相同的数字:上红移

01,02,03等,但是,也有其他人看起来像这样:

0P,如, JJ,F1,F2,XP,PK,TL,WQ

我正在寻找排除在第二行与红移查询使用他们的“不喜欢”的语法。尝试了几种组合,无法让它起作用。理想情况下,我正在寻找一种方法来排除包含字母字符的任何两个字符串。

回答

0

尝试用正规表示

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.

这把所有地方都字符是数字。

+0

不工作(请注意,我在Amazon Redshift上)。语法会不同吗?我的代码如下所示:'where right(column_id,2)REGEXP'[0-9] [0-9]'' – user2022284

+0

我找到了另一个解决方案http://stackoverflow.com/questions/5064977/detect-if-value- is-number-in-mysql –

+0

您还有[** REGEXP_REPLACE **](http://docs.aws.amazon.com/redshift/latest/dg/REGEXP_REPLACE.html)您可以将所有数字替换为''' '看看你是否得到长度为0的字符串,,,或者是所有的字母,看看长度是否相同。但我没有访问红移给你正确的语法 –