首页 > 解决方案 > 通过值是否可以转换为日期来过滤 nvarchar 列?

问题描述

我有一个数据库表,它的 ETL 过程和内容我无法更改,其中的一nvarchar列主要由日期字符串和 null 组成。但是,偶尔会出现“不适用”或“不接受”。

有没有办法只获取有效日期字符串的值?

输入:

2019-01-01
N/A
null
2019-03-04

输出

2019-01-01
2019-03-04

标签: sqlsql-server

解决方案


一个简单的方法使用try_cast()or try_convert()

select t.*
from t
where try_cast(datecol as date) is not null;

推荐阅读