gpt4 book ai didi

sql-server - SQL转换日期时间并减去小时

转载 作者:行者123 更新时间:2023-12-02 07:26:20 25 4
gpt4 key购买 nike

我正在尝试将日期时间 (createTime) 字段从默认的 2012-10-06 02:29:37.243 格式转换为 am/pm,因此我使用

convert(varchar, CreateTime, 100) as CreateTime

并获取2012 年 10 月 6 日凌晨 4:29

到目前为止一切顺利,但在同一个语句中我想减去 4 小时,然后显示该字段(GMT 问题)。

我在这里浏览了一些帖子,但找不到任何可以在单个语句中完成此操作的内容。

最佳答案

declare @createTime datetime = '2012-10-06 02:29:37.243';

-- original value, default formatting
select @createTime;

-- formatted
select convert(varchar, @createTime, 100);

-- subtract 4 hours, formatted
select convert(varchar, dateadd(hour, -4, @createTime), 100);

上面使用 dateadd 的查询将始终减去 4 小时。如果您的目标是将任意日期时间从 UTC 转换为本地时间,那么它会更复杂,因为您需要添加/减去的偏移量取决于原始日期时间。像 -4 这样的单一值并不总是有效。以下是处理一般情况的一些想法:

Effectively Converting dates between UTC and Local (ie. PST) time in SQL 2005

关于sql-server - SQL转换日期时间并减去小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12756769/

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