Проблем:
Искате да преобразувате низ в дата във вашия набор от резултати.
Пример:
Нашата база данни има таблица с име 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 тук.