• символьного типа данных в тип даты и времени;
• типа даты и времени в символьный.
В ходе данного урока обсуждаются первые два класса преобразований. Остальные будут обсуждаться в ходе урока 12, "Работа с датами и временем".
В некоторых реализациях предусмотрено неявное преобразование данных одних типов в другие при необходимости
Преобразование символьных строк в числа
Относительно различия числовых и символьных данных вы должны четко представлять себе два момента.
1. К числовым данным могут применяться арифметические операции и функции.
2. При неформатированном выводе числовые значения выравниваются по правому краю, а символьные строки - по левому.
После преобразования символьной строки в число результат получает соответствующие только что указанные свойства.
В некоторых реализациях SQL нет функций для преобразования строк символов в числа, а в некоторых - есть. В любом случае по поводу имеющихся возможностей, правил преобразования и синтаксиса операторов необходимо обратиться к документации соответствующей реализации языка.
SELECT SUM(LENGTH(LAST_NAME) + LENGTH{FIRST_NAME)) TOTAL
FROM EMPLOYEE_TBL;
TOTAL
--------
71
1 строка выбрана.
В этом примере использованы функция LENGTH и арифметический оператор +, чтобы вычислить суммарную длину имени и фамилии для каждой записи таблицы, а после этого с помощью функции SUM вычисляется сумма длин всех имен и фамилий в таблице.
При вложении одних функций SQL в другие вычисление начинается с внутренней функции, и все вложенные функции обрабатываются последовательно по уровням вложения от внутренней к внешней
Резюме
Вы ознакомились с рядом функций, используемых в операторах SQL - как правило, в запросах, - чтобы изменить представление данных при выводе. Среди таких функций есть символьные, математические и функции преобразования. Очень важно понимать, что стандарт ANSI является только общим руководством для производителей при создании реализации языка, он не диктует точный синтаксис соответствующих операторов и не ограничивает право производителя на нововведения. Большинство производителей предлагают стандартные функции в соответствии с концепциями ANSI, но каждый производитель предлагает свой список доступных пользователю функций. Могут отличаться как имена функций, так и их синтаксис, но лежащие в основе функций концепции одинаковы.
Вопросы и ответы
Все ли функции относятся к стандарту ANSI?
Нет. В разных реализациях SQL очень часто оказываются разными функции преобразования одних типов данных в другие. С примерами некоторых из таких функций вы уже ознакомились. Правила использования функций и их синтаксиса лучше всего уточнить в документации, ввиду того, что в разных реализациях SQL имеются некоторые отличия в их использовании,.
В результате применения функций по отношению к данным меняются ли эти данные в базе данных?
Нет. При использовании функций сами данные не меняются. Функции используются в запросах для изменения только представления данных при выводе.
Практикум
Задания практических занятий разделены на тесты и упражнения. Тесты предназначены для проверки общего уровня понимания рассмотренного материала. Упражнения дают возможность применить на практике идеи, обсуждавшиеся в ходе текущего урока, в комбинации с идеями из предыдущих уроков. Мы рекомендуем ответить на тестовые вопросы и выполнить упражнения прежде, чем продолжать дальнейшее чтение книги. Ответы можно проверить по Приложению Б, "Ответы".
Тесты
1. Свяжите описания с подходящими функциями.
Описания ______________________________ Функции _____
а. Используется для | |I
извлечения части строки RPAD
из данной строки LPAD
б. Используется для LENGTH
обрезания части строки UPPER
в ее начале или конце
в. Используется для LTRIM
изменения регистра RTRIM
всех символов строки на нижний LOWER
г. Используется для SUBSTR
выяснения длины строки
д. Используется для объединения строк
2. Верно ли следующее утверждение: "При использовании в запросе функций для изменения отображения выводимых данных изменяется также и пред* ставление данных в самой базе данных?"
3. Верно ли следующее утверждение: "При использовании в запросах сложных выражений, где одни функции оказываются вложенными в другие, внешняя функция всегда выполняется первой?"
Упражнения
1. С помощью подходящей функции преобразуйте все буквы строки hello в прописные.
Читать дальше