SQL Server查询-包含数字以外的字符和其他特定特殊字符的列中的返回值

时间:2019-07-11 16:54:47

标签: sql-server

SQL Server 2019-我们有一个nvarchar列,其中包含不同的日期格式,但是许多列中的数据不仅仅是其中的日期,而且格式不同。

我需要编写一个查询,该查询将返回所有包含除数字以外的其他所有列,“ /”字符,“ \”字符和“-”字符的列。假设Column1Table1的名称,此查询是什么样的?

2 个答案:

答案 0 :(得分:1)

在我看来,您正在尝试查找哪些行的日期不正确。 “ \”不是日期值中的有效分隔符,但是我们可以使用REPLACE()函数来解决这个问题。

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

点击此dbfiddle即可查看其运行情况。

答案 1 :(得分:1)

这将确定Column1包含不在允许的字符中的值的所有情况:

SELECT Column1
FROM Table1
WHERE Column1 LIKE '%[^0-9\/-]%'