gpt4 book ai didi

sql将小时转换为日期时间,而不在单位数字小时上删除前导零

转载 作者:行者123 更新时间:2023-12-02 11:48:57 25 4
gpt4 key购买 nike

CAST(DATEPART(hh, timestamp) AS varchar(2)) + ':00' AS Hour

这将使我从时间戳字段中获取小时,但在 0-9 小时的情况下,它不会填充前导零,因此当我按小时降序排序时,它无法正确排序。

不知道这里出了什么问题。我指定了 2 个字符的 varchar 以便为前导零留出额外的空间。希望有一种方法可以解决这个问题,而无需通过函数来​​填充我的字段,该函数将为我填充前导零。

最佳答案

SELECT RIGHT('0' + CONVERT(VARCHAR(2), DATEPART(HOUR, GETDATE())), 2) + ':00';

不想用 0 填充?好吧,你可以用同样丑陋的方式来做,而无需填充困惑:

SELECT LEFT(CONVERT(TIME(0), GETDATE()), 2) + ':00';

显然将 GETDATE() 替换为您的列名称。我希望这不是真正的时间戳,因为这是一个保留字 - 遗憾的是,对于与日期或时间无关的数据类型。

如果您不喜欢这些解决方案中的任何一个,那么只需从 SQL Server 选择数据并让您的客户端应用程序处理格式/表示细节。当然,使用 C# 的 format() 函数就可以轻松做到这一点。

关于sql将小时转换为日期时间,而不在单位数字小时上删除前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9313633/

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