Проблем:
Искате да преобразувате низ в дата във вашия набор от резултати.
Пример:
Нашата база данни има таблица с име accounts_creation , с поле с име company_id от типа данни NUMBER и две полета NVARCHAR2 с име company_name и registration_date както е показано по-долу.
| company_id | име_на_компания | регистрационна_дата |
|---|---|---|
| 1 | Десебой | 5 януари 1978 г. |
| 2 | Вестел | 21 септември 1991 г. |
| 3 | Бял параклис | 18 октомври 2017 г. |
| 4 | Сребърна купа | 4 декември 2021 г. |
| 5 | ДжониБрос | 28 август 1984 г. |
Искаме да преобразуваме колоната низ registration_date в колона за дата.
Решение:
Ще използваме TO_DATE() функция. Ето заявката:
SELECT company_id, company_name, TO_DATE(registration_date,'DD Mon YEAR') AS registration_date FROM accounts_creation;
Ето резултата от заявката:
| company_id | име_на_компания | регистрационна_дата |
|---|---|---|
| 1 | Десебой | 05-ЯНВ-78 |
| 2 | Вестел | 21.09.91 |
| 3 | Бял параклис | 18 октомври 17 |
| 4 | Сребърна купа | 4-ДЕК-21 |
| 5 | ДжониБрос | 28 август 84 г. |
Дискусия:
TO_DATE(string, format) функция в Oracle преобразува стойност на низ в дата. Функцията приема два аргумента:низ за преобразуване и формат на датата. В спецификацията на формата DD означава деня от месеца (1-31), MON означава съкратеното име на месеца и YEAR означава 4-цифрена година. Можете да прочетете повече за наличните формати в документацията на Oracle SQL тук.