pl sql datetime format
Дізнайтеся про формат SQL SQL Datetime та деякі корисні функції навколо Datetime, Timestamp та Interval:
В PL / SQL Тригери в PL Серія SQL , ми дізналися про їх типи, використання та переваги.
У цій статті ми дослідимо дату та час у PL / SQL та деякі функції типів даних Datetime, Timestamp та Interval. Крім того, ми зробимо кілька основних операцій на Datetime та Interval.
Почнемо з обговорення !!
Що ви дізнаєтесь:
PL SQL Формат дати та часу
PL / SQL має тип даних дати / часу, який дозволяє нам зберігати та обчислювати дати, інтервали та час. Змінна, яка має тип date або time, містить значення, що називається DateTime. Змінна, яка зберігає тип даних інтервалу, називається інтервалом. Кожен із цих типів даних має поля, які встановлюють значення.
Типи даних DateTime перелічені нижче:
- ГРАФІК
- ГРАФІК З ЧАСОВИМ ЗОНОМ
- ГРАФІК З МІСЦЕВИМ ЧАСОВИМ ЗОНОМ
- ДАТА
Типи даних Interval перелічені нижче:
- ІНТЕРВАЛЬНИЙ ДЕНЬ ДРУГИЙ
- ІНТЕРВАЛЬНИЙ РІК ДО МІСЯЦЯ
ДАТА
Дати фіксованої довжини зберігаються у типі даних DATE. Він включає час доби з опівночі в секундах. Розділ дат вказує на перший день поточного місяця, а часовий - на півночі. Він містить інформацію про дату та час як у типах даних про кількість, так і про символи.
SYSDATE - це функція дати, яка отримує поточний час і дату. Належний діапазон дат - з 1 січня 4712 р. До н. Е. До 31 грудня 9999 р. Н. Е. Значення символів у форматі за замовчуванням (визначаються параметром ініціалізації Oracle NLS_DATE_FORMAT) перетворюються природним чином PL / SQL у значення DATE.
Ми можемо застосовувати математичні операції, такі як додавання та віднімання дат. PL / SQL інтерпретує цілочисельні літерали у вигляді днів. Наприклад, SYSDATE + 1 бал на завтра.
ГРАФІК
Тип даних мітки часу є розширенням типу даних DATE. Він використовується для проведення року, місяця, години та секунди. Формат мітки часу за замовчуванням визначається параметром ініціалізації Oracle NLS_TIMESTAMP_FORMAT.
Синтаксис:
TIMESTAMP((precision))Тут точність не є обов’язковим параметром і вказує на кількість цифр, яка знаходиться у дробовій частині поля секунд. Точність повинна бути будь-яким цілочисельним літералом від 0 до 9. Значенням за замовчуванням є 6.
ГРАФІК З ЧАСОВИМ ЗОНОМ
Цей тип даних є розширенням типу даних TIMESTAMP і містить зміщення часового поясу. Зміщення часового поясу - це різниця в часі (у годинах і хвилинах) між місцевим часом та універсальним координованим часом (UTC).
Мітка часу за замовчуванням із форматом часового поясу визначається параметром ініціалізації Oracle NLS_TIMESTAMP_TZ_FORMAT. Синтаксис:
TIMESTAMP((precision)) WITH TIME ZONEТут точність не є обов’язковим параметром і вказує на кількість цифр, яка знаходиться в дробовій частині поля секунд. Точність повинна бути будь-яким цілочисельним літералом від 0 до 9. Значенням за замовчуванням є 6.
основні запитання для інтерв’ю у Java для свіжих
Ми можемо згадати часовий пояс із символами. Він може мати довгу форму, наприклад, «США / Тихий океан», або коротше, як «PDT», або їх поєднання. Таким чином, цей тип даних використовується для висвітлення та обчислення інформації в географічних місцях.
ГРАФІК З МІСЦЕВИМ ЧАСОВИМ ЗОНОМ
Мітка часу з місцевим типом даних часового поясу є розширенням типу даних TIMESTAMP і містить зміщення часового поясу. Зміщення часового поясу - це різниця в часі (у годинах і хвилинах) між місцевим часом та універсальним координованим часом (UTC).
Синтаксис:
TIMESTAMP ((precision)) WITH LOCAL TIME ZONEТут точність не є обов’язковим параметром і вказує на кількість цифр, яка знаходиться у дробовій частині поля другого. Точність повинна бути будь-яким цілочисельним літералом від 0 до 9. Значенням за замовчуванням є 6.
TIMESTAMP З ЛОКАЛЬНИМ ЧАСОВИМ ЗОНОМ відрізняється від TIMESTAMP WITH TIME ZONE тим, що, поки ми вставляємо значення в базу даних, значенням встановлюється часовий пояс бази даних, а переміщення часового поясу не зберігається в стовпці бази даних. Однак після отримання значення воно повертається в сеансі локального часового поясу.
ІНТЕРВАЛЬНИЙ РІК ДО МІСЯЦЯ
Цей тип даних використовується для зберігання та обчислення інтервалу років і місяців.
Синтаксис:
INTERVAL YEAR ((precision)) TO MONTHТут точність - це кількість цифр у полі року. Точність повинна бути будь-яким цілочисельним літералом від 0 до 4. Значенням за замовчуванням є 2.
ІНТЕРВАЛЬНИЙ РІК ДРУГИЙ
Інтервал від року до другого типу даних використовується для зберігання та обчислення інтервалів днів, годин, хвилин та секунд.
Синтаксис:
INTERVAL DAY ((l_precision)) TO SECOND ((fractional_s_precision))Ось, l_precision і fractional_s_precision - це кількість цифр у полі днів та секунд відповідно.
Точність повинна бути будь-яким цілочисельним літералом від 0 до 9. Значення за замовчуванням встановлюються відповідно на 2 та 6.
Значення поля: дата та інтервал
- ДРУГИЙ: Значення дійсного діапазону DateTime становлять від 00 до 59,9 (м), де m позначає дробові секунди. Значення дійсного діапазону інтервалів становлять від 00 до 59,9 (м), де m позначає дробові секунди інтервалу.
- ХВИЛИНА: Значення дійсного діапазону DateTime - від 00 до 59. Значення дійсного діапазону інтервалів - від 0 до 59.
- ГОДИНА: Значення дійсного діапазону DateTime - від 00 до 23. Значення дійсного діапазону інтервалів - від 0 до 23.
- ДЕНЬ: Значення дійсного діапазону DateTime - від 01 до 31 (обмежено значеннями YEAR та MONTH відповідно до правил календаря мови). Значенням дійсного діапазону інтервалів є будь-яке ненульове ціле число.
- МІСЯЦЬ: Значення дійсного діапазону DateTime - від 01 до 12. Значення дійсного діапазону інтервалів - від 0 до 11.
- РІК: Значення дійсного діапазону DateTime становлять від -4712 до 9999, не включаючи рік 0. Значенням дійсного діапазону інтервалів є будь-яке ненульове ціле число.
- TIMEZONE_HOUR: Значення дійсного діапазону DateTime - від -12 до 14, він включає зміни переходу на літній час. Це не стосується дійсного діапазону інтервалів.
- TIMEZONE_MINUTE: Значення дійсного діапазону DateTime - від 00 до 59. Це не стосується дійсного діапазону інтервалів.
- TIMEZONE_REGION: Значення дійсного діапазону DateTime не застосовуються для DATE або TIMESTAMP. Це не застосовується для дійсного діапазону інтервалів.
- TIMEZONE_ABBR: Значення дійсного діапазону DateTime не застосовуються для DATE або TIMESTAMP. Це не стосується дійсного діапазону інтервалів.
PL SQL Функції в Datetime
Тут m та n містять значення дати та часу.
| Sl No | Ім'я | Призначення |
|---|---|---|
| 7 | SYSDATE () | Отримує поточний час. |
| 1 | LAST_DAY (м) | Отримує останній день місяця. |
| два | ДОДАТИ_МІСЯЦІ (м, п) | Підбиває підсумки м і n місяців. |
| 3 | MONTHS_BETWEEN (m, n) | Отримує кількість місяців між m та n. |
| 4 | NEXT_DAY (м, день) | Отримує дату і час наступного дня після m. |
| 5 | НАСТУПНОГО РАЗУ | Отримує час / день із часового поясу, запитуваного користувачем. |
| 6 | КРУГЛИЙ (м (, одиниця)) | Раунди м. |
| 8 | TRUNC (м (, одиниця)) | Усікає м. |
PL Функції SQL у позначці часу
Тут m містить значення мітки часу.
| Sl No | Ім'я | Призначення |
|---|---|---|
| 7 | TO_TIMESTAMP_TZ (м, (формат)) | Перетворює рядок m у ВРЕМЕНУ З ЧАСОМ. |
| 1 | CURRENT_TIMESTAMP () | Отримує TIMESTAMP з TIMEZONE, що має поточний сеанс і часовий пояс сеансу. |
| два | FROM_TZ (м, часовий пояс) | Перетворює m TIMESTAMP і згадує time_zone у TIMESTAMP WITH TIMEZONE. |
| 3 | LOCALTIMESTAMP () | Отримує TIMESTAMP, що має місцевий час у часовому поясі сеансу. |
| 4 | SYSTEMTIMESTAMP () | Отримує TIMESTAMP з TIMEZONE, що має поточний час бази даних і часовий пояс бази даних. |
| 5 | SYS_EXTRACT_UTC (м) | Перетворює m TIMESTAMP з TIMEZONE на TIMESTAMP з датою та часом у UTC. |
| 6 | TO_TIMESTAMP (м, (формат)) | Перетворює рядок m у TIMESTAMP. |
Впровадження коду з функціями часу та часу:
BEGIN /* get the current date and time */ DBMS_OUTPUT.put_line ('The output of SYSDATE is:'|| SYSDATE); /* get the TIMESTAMP WITH TIME ZONE with database time and time zone */ DBMS_OUTPUT.put_line ('The output of SYSTIMESTAMP is:' ||SYSTIMESTAMP); /* get the TIMESTAMP with local time in session time zone */ DBMS_OUTPUT.put_line ('The output of LOCALTIMESTAMP:' ||LOCALTIMESTAMP); /*get the TIMESTAMP WITH TIME ZONE with present session time with session time zone */ DBMS_OUTPUT.put_line ('The output of CURRENT_TIMESTAMP:'||CURRENT_TIMESTAMP); /*convert string to TIMESTAMP*/ DBMS_OUTPUT.put_line ('The output of TIMESTAMP:'||TO_TIMESTAMP('12-JAN-2011')); /*to add months*/ DBMS_OUTPUT.put_line ('The output of ADD_MONTHS:'||ADD_MONTHS(SYSDATE,1)); /*to get date and time of following day*/ DBMS_OUTPUT.put_line ('The output of NEXT_DAY:'||NEXT_DAY(SYSDATE,'MONDAY')); /*to truncate date */ DBMS_OUTPUT.put_line ('The output of TRUNC:'||TRUNC(SYSDATE)); /*to get the last day of month */ DBMS_OUTPUT.put_line ('The output of LAST_DAY:'||LAST_DAY (SYSDATE)); END; / Вивід вищевказаного коду:
перетворити char * на int c ++

PL SQL Функції в інтервалі
| Sl No | Ім'я | Призначення |
|---|---|---|
| 1 | NUMTODSINTERVAL (м, інтервал) | Перетворює число m на INTERVAL DAY TO SECOND. |
| два | NUMTOYMINTERVAL (м, інтервал) | Перетворює число m на INTERVAL YEAR TO MONTH. |
| 3 | TO_DSINTERVAL (м) | Перетворює рядок m на INTERVAL DAY TO SECOND. |
| 4 | TO_YMINTERVAL (м) | Перетворює рядок m на INTERVAL YEAR TO MONTH. |
Арифметичні операції в режимі дати та інтервалу
PL / SQL дозволяє створювати вирази DateTime та інтервали.
Список операторів, які можна застосувати:
- Якщо перший операнд - DateTime, а другий - інтервал, і ми хочемо застосувати до них оператор (+), значення результату має тип DateTime.
- Якщо перший операнд - DateTime, а другий - інтервал, і ми хочемо застосувати до них оператор (-), значення результату має тип DateTime.
- Якщо перший операнд - інтервальний, а другий - DateTime, і ми хочемо застосувати до них оператор (+), значення результату має тип DateTime.
- Якщо першим операндом є DateTime, а другим операндом - DateTime, і ми хочемо застосувати до них оператор (-), значення результату має інтервальний тип.
- Якщо перший операнд є інтервалом, а другий операндом є інтервалом, і ми хочемо застосувати до них оператор (+), значення результату має тип інтервалу.
- Якщо перший операнд є інтервалом, а другий операндом є інтервалом, і ми хочемо застосувати до них оператор (-), значення результату має тип інтервалу.
- Якщо перший операнд - інтервальний, а другий - числовий, і ми хочемо застосувати до них оператор (*), значення результату має тип інтервалу.
- Якщо перший операнд є числовим, а другий - інтервалом, і ми хочемо застосувати до них оператор (*), значення результату має тип інтервалу.
- Якщо перший операнд - інтервальний, а другий - числовий, і ми хочемо застосувати до них оператор (/), значення результату має тип інтервалу.
Впровадження коду з деякими арифметичними операціями в Datetime та Interval.
DECLARE c_dt TIMESTAMP; r_dt TIMESTAMP; s_dt TIMESTAMP; BEGIN c_dt := SYSTIMESTAMP; r_dt:= c_dt + TO_DSINTERVAL ('1600 5:20:1'); DBMS_OUTPUT.PUT_LINE ('Addition of datetime and Interval:' ||r_dt); s_dt:= c_dt - TO_DSINTERVAL ('1600 5:20:1'); DBMS_OUTPUT.PUT_LINE ('Subtraction of datetime and Interval:' || s_dt); END; Вихід вищевказаного коду:

Пояснення наведеного вище коду:
- У коді (‘1600 5: 20: 1’) означає 1600 днів, 5 годин, 20 хвилин і 1 секунди .
- У першому виведенні першим операндом є DateTime, а другим операндом є інтервал. Після їх додавання ми отримали дату 24-DEC з часом в AM.
- У другому висновку першим операндом є DateTime, а другим операндом є інтервал. Віднімаючи перше від другого, ми отримали дату 20-МАРЬ з часом у вечорах.
Часті запитання та відповіді
Q # 1) Яка поточна позначка часу?
Відповідь: Поточна мітка часу або CURRENT_TIMESTAMP описує мітку часу, яка залежить від зчитування часу денного годинника під час виконання оператора SQL на сервері.
Питання 2) Що повертає Sysdate в Oracle?
Відповідь: Функція Sysdate () отримує поточну дату та час, налаштовані в операційній системі, де знаходиться база даних. Тип даних, яке повертається ним, - DATE.
Q # 3) Яка функція PL / SQL надає поточну дату та час системи?
Відповідь: Функцією PL / SQL, яка надає поточну дату та час системи, є SYSDATE ().
Q # 4) Що таке DUAL SQL?
Відповідь: DUAL - це таблиця бази даних, створена Oracle за замовчуванням разом зі словником даних. Він містить один рядок і один стовпець. DUAL належить SYS, але ним можуть користуватися всі користувачі.
Q # 5) Як оголосити змінну дати в PL SQL?
Відповідь: Ми можемо оголосити змінну дати в PL / SQL із синтаксисом, наведеним нижче:
DECLARE stdt DATE := to_date ('06/06/2006', 'DD/MM/YYYY');Q # 6) Який формат дати в Oracle?
Відповідь: Стандартний формат дати в Oracle для введення та виводу - «DD / MON / YY». Це налаштовано значенням у параметрі NLS_DATE_FORMAT.
Висновок
У цьому посібнику з форматування часу та часу PL PL ми детально обговорили деякі основні поняття дати та часу PL / SQL, які є важливими для їх використання у програмуванні.
Ми розглянули наступні теми, перелічені нижче:
- Дата і час.
- Функції навколо дати, часу та часу.
- Арифметичні дії над датою та інтервалом.
- Значення полів у Datetime та Interval.
Рекомендована література
- Функції дати та часу в C ++ з прикладами
- Підручник з Python DateTime із прикладами
- Підручник з C # DateTime: Робота з датою та часом у C # з прикладом
- Підпрограми: Процедури та функції PL SQL з прикладами
- Функції дати VBScript: Функції формату дати, DateAdd та cDate
- PL SQL Підручник для початківців з прикладами Що таке PL / SQL