T SQL 模式或正则表达式,以确保为 varchar 列返回的所有行都是严格的字母数字

TSQL pattern or reg expression to ensure all rows returned for varchar column are strictly alphanumeric

我已经研究过了,但是 Whosebug 上最明显的答案是一个相反的问题,我不能完全符合我的情况。

我需要一个 TSQL reg 表达式来确保为特定 varchar 列(此处表示为 col1)返回的所有行都是严格的字母数字(也就是说,任何包含一个非字母数字字符的行都被排除在外)

类似于

where col1 like 'regExpGoesHere'

匹配包含不是字母或数字的字符串:

WHERE F NOT LIKE '%[^A-Z0-9]%'

(这些是模式,不是正则表达式)

你可以试试相反的方法

WHERE col1 NOT LIKE '%[^A-Za-z0-9]%'

可以使用 CLR 函数将正则表达式解析添加到 SQL 服务器。在这里查看一个很好的例子点击这里 http://justgeeks.blogspot.com/2008/08/adding-regular-expressions-regex-to-sql.html