Как отобразить название дня, а затем отображать только данные за определенный день
Итак, у меня есть запрос, который отображает название дня недели и вино, которое прошло с этим днем. Проблема в том, что я хочу отображать данные только со вторника. Как бы я поступил так?
выберите to_char(res_date, 'DAY'), wine из DSS_TEST;
1 ответ
Решение
Чтобы ограничить набор результатов, используйте предложение WHERE. Вы можете использовать TO_CHAR, чтобы получить день и сравнить его с литералом. Помните только о двух вещах:
- Результат TO_CHAR(somedate, 'DAY') зависит от настройки языка дат в dbms.
- Полученное имя дополняется пробелами, чтобы соответствовать длине самого широкого имени дня в языке дат.
Сказав это:
select to_char(res_date, 'FMDAY'), wine
from DSS_TEST
where to_char(res_date, 'FMDAY', 'NLS_DATE_LANGUAGE=AMERICAN') = 'TUESDAY';