- With this way –
SELECT TO_CHAR(NOW(), 'DAY');
I can get a day of week name(E.G. MONDAY). - With
SELECT dayofweek(NOW());
I can get the number of the day of week. (E.G 1) - QUESTION:
How to convert day of week name to day of week number. (E.G MONDAY -> 1)
SMTH like
TO_NUMBER('MONDAY', 'DAY'); --> 1
(just for example, don’t working)
Advertisement
Answer
Probably a case
expression is the simplest method:
(case ? when 'MONDAY' then 1 when 'TUESDAY' then 2 when 'WEDNESDAY' then 3 when 'THURSDAY' then 4 when 'FRIDAY' then 5 when 'SATDAY' then 6 when 'SUNDAY' then 7 end)
Or arrays are more concise:
array_find(?, array['MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'] ) + 1