У меня возникла проблема с извлечением некоторых транзакций из моего стола, идея заключается в том, что я хочу удалить всю транзакцию, которую пользователи сделали с 2 дней, но я хочу исключить выходные дни из подсчета (выходные здесь пятница и субботу), до сих пор я могу получить 2 дня старые записи, но не в выходные дни не исключаютВыберите строки 2 дня, кроме выходных
SELECT c1
FROM my_table
WHERE TRANS_DATE <= (TRUNC (SYSDATE) - 3)..
Пример: пользователь сделал свой запрос во вторник я должен удалить запрос в четверг ,, но если он сделал это на Четверг, я должен удалить его в понедельник.
любые идеи? спасибо всем
Обратите внимание, что для некоторых территорий неделя начинается также в субботу = 1 или даже в четверг (как далеко я помню). Лучше использовать 'TO_CHAR (SYSDATE, 'fmDay', 'NLS_DATE_LANGUAGE = American') = 'Monday'', потому что' Day' также зависит от текущего сеанса 'NLS_DATE_LANGUAGE'. –
Спасибо за ваш ответ, но как я могу изменить свою текущую сессию, извините, я не администратор базы данных. Вы можете помочь мне с этим? я использую oracle 12c как DB и 11g в качестве разработчика –
, что является очень хорошим предложением от @WernfriedDomscheit; используя TO_CHAR (SYSDATE, 'fmDay', 'NLS_DATE_LANGUAGE = American') = 'Monday', вам не нужно беспокоиться о том, какой именно NLS_DATE_LANGUAGE вы находитесь. Я обновил SQL. – Jayvee