SQL Server-如何使用正则表达式验证数字?

时间:2019-04-13 07:12:26

标签: sql sql-server regex

我在SQL Server中遇到了正则表达式问题。

我有这样的查询:

SELECT 1 
WHERE '/test/url/1' LIKE '/test/url/%[0-9]'

但是此正则表达式存在问题。

当我输入诸如/test/url/1w1之类的无效URL时,它返回1,并且正则表达式无法正常工作。

我想验证URL中的任何长度的整数作为:ID参数。

请为这种情况推荐正确的正则表达式。

1 个答案:

答案 0 :(得分:1)

您可以使用:

SELECT 1
WHERE '/test/url/1' LIKE '/test/url/%[0-9]' AND
      '/test/url/1' NOT LIKE '/test/url/%[^0-9]%'

这需要在最后一个路径段的开头输入一个整数(0-9),但要避免该段以整数结尾。