任何人都可以帮我创建一个函数,如果我在SQL服务器中以毫秒为单位传递UTC时间戳,它会给我Datetime值吗?
提前感谢。
答案 0 :(得分:1)
使用以下代码将UTC转换为本地日期时间格式:
SELECT DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), MyTable.UtcColumn)
AS ColumnInLocalTime
FROM MyTable
答案 1 :(得分:0)
如果您想在SQL SERVER中为此创建一个函数,那么您的查询应该是这样的:
CREATE FUNCTION UTCtoLocal(@UTC datetime)
RETURNS datetime
AS
BEGIN
DECLARE @local datetime
DECLARE @datediff INT = (select DATEDIFF(mi, GETUTCDATE(), GETDATE()))
SET @local = DATEADD(mi, @datediff, @UTC)
RETURN @local
END
GO
然后您可以将utc时间作为参数传递并获取当地时间
SELECT [dbo].[UTCtoLocal] (GETUTCDATE())