【问题标题】:Error in SQL when doing a datediff执行 datediff 时 SQL 出错
【发布时间】:2018-02-28 00:11:10
【问题描述】:

我在 SQL Server 2012 中遇到以下错误,当我尝试使用 datediff 来获取两个日期列之间的天数时。

我正在尝试下面的createdtsvarchar 并且我已将今天的日期转换为在varchar 中显示日期。为什么还是不行?

DATEDIFF(day, Load_Confirmed.createdts, CONVERT (varchar, GETDATE(), 104))

错误 - 转换日期和/或时间时失败 字符串

谢谢

【问题讨论】:

    标签: date type-conversion


    【解决方案1】:

    您的 createdts 列应转换为 datetime 数据类型,然后才能使用 datediff 函数查找两个日期之间的差异。

    create table #tempdate
    (
    createdts varchar(30)
    )
    
    insert into #tempdate(createdts) values ('2017-09-19')
    
    select DATEDIFF(hour,convert(date,createdts,120),getdate()) from #tempdate
    

    【讨论】:

    • 我没有创建表的权限
    • 您不必创建表,只需使用我给出的选择语句,它应该可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多