sql-server - 为什么不从数据库小时和分钟显示不完全相同?
问题描述
我在名为 CarrierDeliveryStartDateHour 的数据库中有一个字段,我想要实现的是根据时间显示下午 3:45 或上午。
SELECT FORMAT(getdate(), 'hh:mm tt') AS CarrierDeliveryStartDateHour
我正在使用这个查询。但问题是当我从数据库中进行查询时,它显示了错误的时间,例如,2:00 AM 而应该显示 3:45 我认为我们应该应用时区和偏移量。任何想法,请
解决方案
CREATE FUNCTION [dbo].[sfUtcToLocal] (@UtcDatetime DATETIMEOFFSET, @IDTimeZone typIDTimeZone) 返回 DATETIMEOFFSET 作为开始
DECLARE @UTCoffset typUTCoffset
SELECT @UTCoffset = COALESCE(ttzd.UTCoffset, ttz.UTCoffset)
FROM tabTimeZone AS ttz
LEFT JOIN tabTimeZoneDST AS ttzd ON ttzd.IDTimeZone = ttz.IDTimeZone
AND @UtcDatetime BETWEEN ttzd.StartDate AND ttzd.EndDate
WHERE ttz.IDTimeZone = @IDTimeZone
AND ttz.[Deleted] = 0
RETURN ISNULL(SWITCHOFFSET (@UtcDatetime, @UTCoffset), @UtcDatetime)
结尾
推荐阅读
- java - Selenium 表示元素单击“成功”,但实际上并未单击
- c# - 我想要任务详细信息以及它的功能 ID 和 vsts 中的一个查询的评论
- process - 有没有办法将同一进程的不同实例分配给不同的 camunda 实例(工作站)?
- microsoft-graph-api - 无法将新文件 (<4MB) 上传到 SharePoint (ms graph api)
- forms - 单击列表视图项 Xamarin 表单时我无法调用命令
- sql - 为什么选择不同存储的'As T'以及如何别名?
- javascript - 当应用程序在后台运行时反应本机电源按钮长按监听器
- python - 在 Python 中使用给定的 P50 和 STD 计算 P75/P90 值
- docker - docker build 输出的目的是什么?
- corda - 如何在 R3 Corda 的账户之间转移不可替代的代币?