В Oracle ви скористайтеся параметром NLS_TERRITORY, щоб установити день початку тижня. Ви можете змінити його лише для свого сеансу, наприклад: ALTER SESSION SET NLS_TERRITORY=German; Тоді понеділок стає першим днем тижня. 8 лютого 2012 р
Я думаю, що найпростіший спосіб зробити це за допомогою функції NEXT_DAY. Відніміть 7 днів, щоб отримати тиждень тому, а потім використовуйте next_day, щоб перейти до наступного понеділка. вибрати next_day(sysdate-7, 'понеділок') з dual; Ви можете скоротити результат, якщо вам потрібно позбутися годин і хвилин.
Тепер давайте розглянемо вираз, який повертає понеділок як перший день тижня: SELECT DATEADD(тиждень, DATEDIFF(тиждень, 0, Дата реєстрації – 1), 0) AS понеділок; У виразі вище ми додаємо вказану кількість тижнів до дати 0. Як ви пам’ятаєте, 0 означає північ понеділка, 1 січня 1900 року.
CREATE OR REPLACE FUNCTION first_day_of_month(in_date DATE) RETURN VARCHAR2 IS BEGIN RETURN to_char(trunc(in_date,'MM'), 'DD-MON-YYYY'); КІНЕЦЬ; Функція, створена в цьому рішенні, повертатиме перший день місяця, переданий у неї, оскільки він передається у функцію TRUNC.
За замовчуванням VBA розглядає "понеділок" як початковий день тижня.
В Oracle ви скористайтеся параметром NLS_TERRITORY, щоб установити день початку тижня. Ви можете змінити його лише для свого сеансу, наприклад: ALTER SESSION SET NLS_TERRITORY=German; Тоді понеділок стає першим днем тижня.