получить название дня
Поскольку вы хотите получить название дня, вы можете использовать функцию date_format
с аргументом 'EEEE'
, чтобы получить название дня, например, понедельник. Если вы хотите передать целое число (например, числа от 1 до 7), то вы можете просто кодировать оператор CASE
, например:
%sql
SELECT
dayofweek( CAST( '2018-12-31' AS DATE ) ) AS d,
date_format( CAST( '2018-12-31' AS DATE ), 'EEEE' ) AS dayname,
CASE dayofweek( CAST( '2018-12-31' AS DATE ) )
WHEN 1 THEN 'Monday'
WHEN 2 THEN 'Tuesday'
WHEN 3 THEN 'Wednesday'
WHEN 4 THEN 'Thursday'
WHEN 5 THEN 'Friday'
WHEN 6 THEN 'Saturday'
WHEN 7 THEN 'Sunday'
ELSE 'Unknown'
END AS caseTest
NB. Я кодировал CASE
, чтобы начать неделю с День 1 - понедельник , что отличается от значения по умолчанию dayofweek
; это может быть одной из причин, чтобы сделать это, то есть вы хотите другое значение по умолчанию.
Мои результаты: