Самоучитель. Курс SQL. Базы данных. ORACLE. Илья Леонидович Хохлов

Читать онлайн.
Название Самоучитель. Курс SQL. Базы данных. ORACLE
Автор произведения Илья Леонидович Хохлов
Жанр
Серия
Издательство
Год выпуска 1985
isbn



Скачать книгу

преобразование даты в текст. Проиллюстрируем преобразование даты в текст на примере дат рождения сотрудников. Напишем запрос, выводящий дату рождения, например, в формате месяц прописью и год цифрой. На такое способна только функция to_char!

      Получим результат:

      После ключевого слова SELECT мы указали вывод данных столбца NAME, BIRTHDATE и преобразованного столбца BIRTHDATE с помощью функции to_char. Функция привела выводимые даты к запрашиваемому во втором параметре формату – месяц прописью и год числом. Если в качестве формата преобразование указать буквенное обозначение месяца, написанное в нижнем регистре, то функция to_char выведет результат с именем месяца также в таком же регистре:

      Получим:

      Если укажем в верхнем регистре, то и получим тоже в верхнем.

      Значение месяца мы также можем вывести числом, если укажем это в формате:

      Получим:

      И теперь придумаем совсем хитрый формат:

      Выведем день, через точку, месяц и потом через слэш номер года, состоящий из двух символов:

      Как видим, мы можем выводить дату практически в любом удобном (нужном) для нас виде. При составлении формата, можем использовать дополнительные символы: пробел, тире, слеш (косая черта), скобки и т.д. Можем выводить, также, и отдельную информацию о дате, например, день недели:

      Результат:

      В таблице ниже список основных элементов даты (и времени), которые можно использовать при составлении формата для функции to_char.

      Теперь нам ни одна задача не страшна! Но это еще не все! Функция to_char может использоваться для преобразования числа в текст, а не только даты. После преобразования числа в текст, для него уже не будут доступны арифметические операции, но зато смотреться будет красиво.

      Преобразование числа в текст делается, в основном, для его форматирования, красивого отображения, например, с пробелами–разделителями групп разрядов. Или можно всегда отображать значение с определенным количеством чисел после запятой. Для целого числа, например, после запятой будут отображаться нули. По мере развития отчетных систем, выводящих данные на печать или в отчеты, надобность форматирования чисел самой СУБД при выдаче данных, потеряла актуальность. Сами отчетные системы умеют отображать числа с любым форматированием и для них главное – само число, то есть сами данные. Тем не менее, для полноты темы, ниже мы рассмотрим использование функции to_char для преобразования числа в текст.

      Выведем названия блюд столовой, их цены, а также преобразованные значения цен:

      Получим:

      Самое первое на что нужно обратить внимание в маске, это на разделитель целой и дробной части – D (англ. delimiter – разделитель). Далее слева и справа от разделителя мы видим цифры «0» и «9». «0» обозначает обязательное число. То есть в ценах блюд столовой до запятой должно быть минимум одно число.