Запрос SQL Server - возвращает значения в столбце, который содержит символы, отличные от цифр, и другие специальные специальные символы. - PullRequest
0 голосов
/ 11 июля 2019

SQL Server 2019 - у нас есть столбец nvarchar, который содержит разные форматы даты, но многие содержат больше данных, чем просто указанная дата, в разных форматах.

Мне нужно написать запрос, который будет возвращать все столбцы, которые содержат что-либо больше, чем /, кроме цифр, символа "/", символа "\" и символа "-".Если предположить имена Column1 и Table1, как выглядит этот запрос?

Ответы [ 2 ]

1 голос
/ 11 июля 2019

Это идентифицирует все случаи, когда Column1 содержит значение, не входящее в ваши разрешенные символы:

SELECT Column1
FROM Table1
WHERE Column1 LIKE '%[^0-9\/-]%'
1 голос
/ 11 июля 2019

Мне кажется, что вы пытаетесь найти, в каких строках плохие даты. "\" Не является допустимым разделителем в значении даты, но мы можем объяснить это с помощью функции REPLACE ().

SELECT * 
FROM #Table1 
WHERE ISDATE(REPLACE(Column1,'\','/')) = 0;

Щелкните по этому dbfiddle , чтобы увидеть его в действии.

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