将带有时区的时间戳转换为星期几

时间:2019-03-05 14:02:52

标签: sql postgresql date timezone

表格名称:测试

列名|数据类型

order_date |带时区的时间戳(例如:'2019-01-20 23:59:10 + 08')

希望将时间戳转换为星期几 例如:2019-01-20 =“星期日”

2 个答案:

答案 0 :(得分:0)

您可以使用EXTRACT将星期几提取为整数,然后将其转换为字符串:

SELECT
    CASE EXTRACT(DOW FROM order_date AT TIME ZONE 'UTC')
        WHEN 0 THEN 'Sunday'
        WHEN 1 THEN 'Monday'
        ...
    END
FROM test

答案 1 :(得分:0)

您可以使用以下函数来返回给定日期的星期几

create function day_of_week(@d as date) returns varchar(20)
as
begin
declare @day_of_week as varchar(20)
select @day_of_week =case datepart(w,getdate())
when 1 then 'Sunday'
when 2 then 'Monday'
when 3 then 'Tuesady'
when 4 then 'Wednasday'
when 5 then  'Thursday'
when 6 then  'Friday'
when 7 then 'Saturday'
end 
return @day_of_week
end