gpt4 book ai didi

sql - 如何处理 DATEDIFF(MINUTE, '00:00' , '24:20' ) 类似场景?

转载 作者:行者123 更新时间:2023-12-04 11:50:26 27 4
gpt4 key购买 nike

我的表中有一个列。我们在其中以格式 'HH:MM' 存储字符串值.在使用此表获取记录期间,一切正常

DATEDIFF(MINUTE, '00:00', ColumnName)

问题是当我们的值大于 23:59 时.
它的显示错误如

Conversion failed when converting date and/or time from character string.



任何人都可以建议我实现这种情况的正确方法。

最佳答案

如果您将值存储为时间以外的其他内容,为什么不只存储分钟数并转换为您想要的输出格式?

否则,我建议您简单地将值转换为分钟:

select (cast(left(ColumnName, 2) as int) * 60 +
cast(right(ColumnName, 2) as int)
) as Minutes

如果您不使用日期/时间值,则不需要使用专门为它们设计的函数。

编辑:

要处理超过 99 小时的时间,请使用 charindex() :
select (cast(left(ColumnName, charindex(':', ColumnName) - 1) as int) * 60 +
cast(right(ColumnName, 2) as int)
) as Minutes

关于sql - 如何处理 DATEDIFF(MINUTE, '00:00' , '24:20' ) 类似场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30755969/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com