sql - 通过值是否可以转换为日期来过滤 nvarchar 列?
问题描述
我有一个数据库表,它的 ETL 过程和内容我无法更改,其中的一nvarchar
列主要由日期字符串和 null 组成。但是,偶尔会出现“不适用”或“不接受”。
有没有办法只获取有效日期字符串的值?
输入:
2019-01-01
N/A
null
2019-03-04
输出
2019-01-01
2019-03-04
解决方案
一个简单的方法使用try_cast()
or try_convert()
:
select t.*
from t
where try_cast(datecol as date) is not null;
推荐阅读
- git - git vscode 太多无法显示
- reactjs - antd:元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:对象
- tensorflow - Colab TPU 错误 - InvalidArgumentError:TPU 不支持的数据类型:字符串,由输出 cond_8/Identity_1:0 引起
- python - 看不到游戏车图像
- c++ - 将 gcc 参数隐藏到 CMake 文件
- javascript - ReferenceError:未定义 serverTest
- python - 如何处理 f2py 模块中的偶尔分段错误
- vba - 将查询从 MS Access 导出到 CSV,带有换行符的冗长文本的列被截断
- java - 将字符串重新复制到新字符串对重新复制数组的性能影响更大吗?
- android - 拥有“发布”apk 后,我应该在 firebase 中删除 SHA1 调试密钥吗?