在SQL Server中使用regex验证表数据

时间:2013-09-25 19:07:23

标签: sql sql-server regex

我有一个包含大量字母数字代码的MSSQL表。我必须验证这些代码是否在某些字符内。如何在MSSQL中编写SQL?有什么建议吗?

代码表

JFBBB22 -> Valid

JBBYB33 

AXBBB22 ->Invalid

LBBBB33 

我在c#中使用的代码验证..

Regex.IsMatch(code, "^[BCDFGHJKLMNPQRSTVWXZ123456789]*$").

2 个答案:

答案 0 :(得分:1)

WHERE code NOT LIKE '%[^BCDFGHJKLMNPQRSTVWXZ123456789]%'

答案 1 :(得分:0)

你可以这样做:

select dbo.RegexMatch( N'123-45-6789', N'^\d{3}-\d{2}-\d{4}$' )

有关完整文档检查The MSDN site for the official page