конвертировать временную метку с часовым поясом в день недели - PullRequest
1 голос
/ 05 марта 2019

имя таблицы: тест

имя столбца |тип данных

order_date |временная метка с часовым поясом (например, «2019-01-20 23: 59: 10 + 08»)

, где требуется преобразовать временную метку в день недели, например: 2019-01-20 = «воскресенье»

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Вы можете использовать следующую функцию, которая будет возвращать день недели данной даты

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
0 голосов
/ 05 марта 2019

Вы можете использовать EXTRACT , чтобы извлечь день недели как целое число, а затем преобразовать его в строку:

SELECT
    CASE EXTRACT(DOW FROM order_date AT TIME ZONE 'UTC')
        WHEN 0 THEN 'Sunday'
        WHEN 1 THEN 'Monday'
        ...
    END
FROM test
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...