SQL LIKE子句的特殊模式

时间:2019-01-17 22:34:26

标签: sql sql-server

需要特殊的模式来查找长度为13个字符的字符,第12个字符是数字,例如119910023525P 有2种模式:

LIKE '____________P' 

LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]P'

需要诸如'[0-9]{12}P'之类的东西 在MS-SQL Server中有可能吗?

3 个答案:

答案 0 :(得分:2)

TSQL模式语法中没有量词。

您可以使用

LIKE REPLICATE('[0-9]',12) + 'P'

答案 1 :(得分:0)

您可以使用以下逻辑:

(x like '%P' and x not like '%[^0-9]%P' and len(x) = 13)

但这与手动复制[0-9] 12次的打字量大致相同。

答案 2 :(得分:-1)

也许REGEXP()函数可以帮助您完成此任务。