SQLite Преобразование формата YYYY-MM-DD в SUN / MON / TUE / WED / THU / FRI / SAT - PullRequest
0 голосов
/ 28 мая 2020

У меня есть набор из 10 дат в формате ГГГГ-ММ-ДД (показано ниже). Но я хочу изменить эти даты числового формата на воскресенье, понедельник, вторник, среду, четверг, пятницу и субботу с помощью SQLite.

Какую функцию я должен использовать для преобразования этого из числа c даты в день недели дата?

1992-08-14
1992-05-01
1992-04-01
1993-05-03
1993-10-17
1994-03-05
1993-10-17
1994-01-02
1994-11-15

1 Ответ

1 голос
/ 28 мая 2020

По STRFTIME('%w', datecolumn) вы получаете день недели даты в виде строки: '0' for Sunday, '1' for Monday, ..., '6' for Saturday

Используйте это так:

SELECT
  CASE STRFTIME('%w', datecolumn) 
    WHEN '0' THEN 'SUN'
    WHEN '1' THEN 'MON'
    WHEN '2' THEN 'TUE'
    WHEN '3' THEN 'WED'
    WHEN '4' THEN 'THU'
    WHEN '5' THEN 'FRI'
    WHEN '6' THEN 'SAT' 
  END day,
  COUNT(*) count
FROM tablename
GROUP BY STRFTIME('%w', datecolumn)

См. demo . Результатов:

| day | count |
| --- | ----- |
| SUN | 3     |
| MON | 1     |
| TUE | 1     |
| WED | 1     |
| FRI | 2     |
| SAT | 1     |
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...