转换日期时convert和try_convert函数都不起作用

Shuang 160 信誉分
2024-12-26T02:12:30.7133333+00:00

在使用convert来改变日期格式时,发现部分数据无法转换。在网上搜索了一下有人建议使用try_convert,于是我尝试使用try_convert,但依旧没有成功转换。

请教一下还有别的方法可以解决这个问题吗?

SQL Server
SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
189 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. LiHongMSFT-4306 29,746 信誉分
    2024-12-26T02:42:15.3166667+00:00

    你好,

    部分数据无法转换

    当你的日期格式不正确,或者不是标准日期(比如:2024-02-31)的话,convert函数会报错。同时如果你使用try_convert的话,将会返回null值。

    Try_convert的目的是返回一个Null值,为了让语句避免报错成功执行,而不是说将一个不正确的日期格式强行转换成正确的。

    你需要做的应该是整理修改原数据中的不符合规范的数据,像这样:

    SELECT * 
    FROM YourTable
    WHERE TRY_CONVERT(DATETIME,DateColumn,120) IS NULL
    

    如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。