Введение в Oracle SQL
Hadrien Lacroix
Content Developer
Тип данных определяет, какие данные может содержать столбец.
| Числовые данные | Символьные данные | Данные дат | |
|---|---|---|---|
AVG |
x | ||
SUM |
x | ||
MIN |
x | x | x |
COUNT |
x | x | x |
Функции преобразования конвертируют столбец из одного типа данных в другой
SQL автоматически преобразует типы данных
SELECT 'Track length: ' || Milliseconds
FROM Track
| 'Track length: ' || Milliseconds |
|--------------------------------------|
| Track length: 343719 |
| Track length: 342562 |
| ... |

Преобразование числа в символьный формат с помощью функции TO_CHAR:
SELECT UnitPrice, TO_CHAR(UnitPrice, '$999.99')
FROM InvoiceLine
| UnitPrice | TO_CHAR(UnitPrice, '$9.99') |
|-------------|-----------------------------|
| 0.99 | $0.99 |
| 1.99 | $1.99 |
| ... | ... |
$ : Плавающий знак доллара. : Позиция десятичного разделителя9 : Обозначает числовую позицию. Количество девяток определяет ширину отображения0 : Задаёт ведущие нули, : Позиция разделителя тысячПреобразование даты в символьный формат с помощью функции TO_CHAR:
SELECT TO_CHAR(BirthDate, 'DD-MON-YYYY')
FROM Employee
| TO_CHAR(BirthDate, 'DD-MON-YYYY') |
|-----------------------------------|
| 19-SEP-1947 |
| ... |
YYYY: Четырёхзначное представление годаYEAR: Год прописьюMM: Двузначный номер месяцаMONTH: Полное название месяцаMON: Трёхбуквенное сокращение месяцаDY: Трёхбуквенное сокращение дня неделиDAY: Полное название дняDD: Числовой день месяцаПреобразование символьной строки в числовой формат с помощью функции TO_NUMBER:
SELECT TO_NUMBER('$15,000.75', '$999,999.99')
FROM DUAL
| TO_NUMBER('$15,000.75', '$999,999.99') |
|----------------------------------------|
| 15000.75 |
$ : Плавающий знак доллара. : Позиция десятичного разделителя9 : Обозначает числовую позицию. Количество девяток определяет ширину отображения0 : Задаёт ведущие нули, : Позиция разделителя тысячПреобразование символьной строки в формат даты с помощью функции TO_DATE:
SELECT TO_DATE('2016-01-31','YYYY-MM-DD')
FROM DUAL
| TO_DATE('2016-01-31','YYYY-MM-DD') |
|----------------------------------------|
| 31-JAN-16 |
YYYY: Четырёхзначное представление годаYEAR: Год прописьюMM: Двузначный номер месяцаMONTH: Полное название месяцаMON: Трёхбуквенное сокращение месяцаDY: Трёхбуквенное сокращение дня неделиDAY: Полное название дняDD: Числовой день месяца
Введение в Oracle SQL