Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Функции LOWER и UPPER

Функции LOWER и UPPERФункции LOWER и UPPER представляют собой редкий случай точной реализации требований стандарта SQL:2003 во всех трех рассматриваемых СУБД. Эти функции интуитивно понятны — они преобразуют символы передаваемой в качестве аргумента строки в нижний и верхний регистр, соответственно. В IBM DB2 9.5 также представлены дополнительные версии этих функций: LCASE и UCASE. Скорее всего, это сделано из соображений обратной совместимости со старыми языками программирования, существующими уже более 30 лет. Эти функции попадают в широкий класс функций преобразования, о которых речь пойдет далее. Их используют для преобразования данных несимвольного типа в символьный, к примеру числа или даты-времени в строку. Они могут оказаться полезными для создания отчета, принимающего исключительно символьные данные, а также для какой-либо внутренней обработки. В дополнение к преобразованию между типами данных, эти функции позволяют применять форматирование (в частности, это относится к типам даты и времени).

Использование этих функций было продемонстрировано в примерах, посвященных функции CONCAT. Так как аргументами функции CONCAT могут быть исключительно строки, во избежание ошибок в IBM DB2 9.5 необходимо явно выполнять преобразование чисел в строки. В Oracle 11g при объединении строк такое преобразование выполняется неявно. Функция STR СУБД Microsoft SQL Server отличается от TO_CHAR (Oracle) и CHAR (DB2) тем, что принимает исключительно числовой аргумент — не дату или время и даже не строку. Она также имеет необязательный аргумент, определяющий длину результата (включая десятичную запятую), а также количество дробных цифр. В следующем примере преобразуется вещественное число 123,35 (с двумя десятичными знаками) в строку (синтаксис Microsoft SQL Server). Так как оба необязательных аргумента были опущены (длина по умолчанию равна 10, а точность нулю), результатом стало обрезание строки. В следующем запросе принимается во внимание то, что ожидаемый результат должен иметь длину 7 символов, в том числе 3 десятичных знака (если бы было указано 2 десятичных знака, меньше чем на самом деле имеют числа, результат был бы округлен).

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *