Как отобразить название дня, а затем отображать только данные за определенный день

Итак, у меня есть запрос, который отображает название дня недели и вино, которое прошло с этим днем. Проблема в том, что я хочу отображать данные только со вторника. Как бы я поступил так?

выберите to_char(res_date, 'DAY'), wine из DSS_TEST;

1 ответ

Решение

Чтобы ограничить набор результатов, используйте предложение WHERE. Вы можете использовать TO_CHAR, чтобы получить день и сравнить его с литералом. Помните только о двух вещах:

  1. Результат TO_CHAR(somedate, 'DAY') зависит от настройки языка дат в dbms.
  2. Полученное имя дополняется пробелами, чтобы соответствовать длине самого широкого имени дня в языке дат.

Сказав это:

select to_char(res_date, 'FMDAY'), wine 
from DSS_TEST
where to_char(res_date, 'FMDAY', 'NLS_DATE_LANGUAGE=AMERICAN') = 'TUESDAY';
Другие вопросы по тегам