SQL Select 语句 (REGEXP) 在仅包含字母的字段中查找特殊字符和数字
SQL Select Statement(REGEXP) to find special characters and numbers in an alpha only field
我正在使用 mySQL 来查询字段 LastName
。我正在查找该字段中的任何错误,例如任何特殊字符或数字。我对 SQL 不是很熟悉,所以到目前为止这一直是一个挑战。我用 REGEXP
编写了简单的语句,但我 运行 遇到了一些问题,我使用的 REGEXP
是:
SELECT LastName FROM `DB`.`PLANNAME` where LastName REGEXP '^([0-9])'
现在出现了结果,其中数字是字符串中的第一个字符,我意识到如果字符串中间有任何以字母开头的东西,它就不会把它挑出来。
明确地说,我只需要找到错误,而不是编写代码来清除它们。
任何帮助将不胜感激
谢谢
皮特
也许您正在寻找这样的东西:
SELECT LastName FROM `DB`.`PLANNAME` WHERE NOT LastName REGEXP '[A-Za-z0-9]';
这里有一个文档:
像这样的东西应该适合你。
SELECT column FROM table WHERE column REGEXP '[^A-Za-z]'
这将 return 字符不是 a-z 的任何行。您可能想要添加 </code> 和 <code>'
。对于 O'brien
s 和 von lansing
等。任何您认为可以接受的字符都应该放在字符 class []
、http://www.regular-expressions.info/charclass.html.
中
我正在使用 mySQL 来查询字段 LastName
。我正在查找该字段中的任何错误,例如任何特殊字符或数字。我对 SQL 不是很熟悉,所以到目前为止这一直是一个挑战。我用 REGEXP
编写了简单的语句,但我 运行 遇到了一些问题,我使用的 REGEXP
是:
SELECT LastName FROM `DB`.`PLANNAME` where LastName REGEXP '^([0-9])'
现在出现了结果,其中数字是字符串中的第一个字符,我意识到如果字符串中间有任何以字母开头的东西,它就不会把它挑出来。
明确地说,我只需要找到错误,而不是编写代码来清除它们。
任何帮助将不胜感激
谢谢
皮特
也许您正在寻找这样的东西:
SELECT LastName FROM `DB`.`PLANNAME` WHERE NOT LastName REGEXP '[A-Za-z0-9]';
这里有一个文档:
像这样的东西应该适合你。
SELECT column FROM table WHERE column REGEXP '[^A-Za-z]'
这将 return 字符不是 a-z 的任何行。您可能想要添加 </code> 和 <code>'
。对于 O'brien
s 和 von lansing
等。任何您认为可以接受的字符都应该放在字符 class []
、http://www.regular-expressions.info/charclass.html.