Sud*_*ha 6 regex sql sql-server
我创建了以下用于匹配ISBN的SQL正则表达式模式:
CREATE RULE ISBN_Rule AS @value LIKE 'ISBN\x20(?=.{13}$)\d{1,5}([-])\d{1,7}\1\d{1,6}\1(\d|X)$'
Run Code Online (Sandbox Code Playgroud)
我使用以下值作为测试数据; 但是,数据未提交:
ISBN 0 93028 923 4 | ISBN 1-56389-668-0 | ISBN 1-56389-016-X
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
LIKE
SQL Server中的运算符不是正则表达式运算符.你可以做一些复杂的模式匹配,但它不是正常的正则表达式语法.
http://msdn.microsoft.com/en-us/library/ms179859.aspx
你可以使用LIKE来做到这一点.
你需要一些OR来处理不同的ISBN 10和13格式
对于上面的字符串:
LIKE 'ISBN [0-9][ -][0-9][0-9][0-9][0-9][0-9][ -][0-9][0-9][0-9][ -][0-9X]'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
27384 次 |
最近记录: |