SQL Server - Как проверить число с помощью регулярных выражений? - PullRequest
0 голосов
/ 13 апреля 2019

Я столкнулся с проблемой регулярного выражения в SQL Server.

У меня такой запрос:

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

но в этом регулярном выражении есть проблема.

Когда я ввожу недопустимый URL-адрес, такой как /test/url/1w1, он возвращает 1 и регулярное выражение работает неправильно.

Я хочу проверить целое число в URL любой длины в качестве параметра :ID.

Пожалуйста, порекомендуйте правильное регулярное выражение для этой ситуации.

1 Ответ

1 голос
/ 13 апреля 2019

Вы можете использовать:

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

Для этого требуется целое число (0-9) в начале последнего сегмента пути, но во избежание того, что сегмент заканчивается целым числом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...