|
Программирование >> Sql: полное руководство
благодаря использованию встроенной функции то char () все даты приема на работу будут иметь формат Wednesday June 14, 1990 В общем случае встроенную функцию разрешается использовать в любом месте инструкции SQL, в котором можно использовать константу того же типа данных Здесь невозможно перечислить все встроенные функции, поддерживаемые распространенными диалектами SQL, поскольку их слишком много В DB2 их порядка двух дюжин, в Oracle - столько же, в SQL Server - еще больше В стандарт SQL2 вошли наиболее полезные функции из различных СУБД Эти функции перечислены в табл 5 6 Таблица 5 6 Встроенные функции, определенные в стандарте SQL2 Функция ВIT LENGTH(строка) CAST(значение AS тип данных) CHAR LENGTH(строка) CONVERT (строка USING функция) CURRENT DATE CURRENT TIME(точность) CURRENT TIMESTAMP(точность) EXTRACT(часть FROM значение) LOWER(строка) 0CTET LENGTH(строка) POSITЮП (подстрока IN строка) SUBSTRING (строка FROM п FOR длина) TRANSLATE(строка USING функция) TRIM(BOTH символ FROM строка) TRIM(LEADING символ FROM строка) TRIM(TRAILING символ FROM строка) UPPER (строка) Что возвращает количество битов в цепочке значение, преобразованное в указанный тип данных (например, дата, преобразованная в строку) длина строки символов строка, преобразованная в соответствии с указанной функцией текущая дата текущее время с указанной точностью текущие дата и время с указанной точностью указанная часть (day, hour и т д ) из значения типа datetime строка, переведенная в нижний регистр число байтов в строке символов позиция, с которой начинается вхождение подстроки в строку часть строки, начинающаяся с я-го символа и имеющая указанную длину строка, транслированная с помощью указанной функции строка, из которой удалены ведущие и хвостовые указанные символы строка, из которой удалены ведущие указанные символы строка, из которой удалены хвостовые указанные символы строка, переведенная в верхний регистр Отсутствующие значения (значения NULL) Поскольку база данных представляет собой модель реального мира, отдельные элементы данньгх в ней неминуемо будут отсутствовать или подходить не для всех сущностей Например, в столбце quota таблицы salesreps содержатся плановые объемы продаж для каждого служащего Однако для одного из новых служащих план еше не был утвержден, соответствующая информация в базе данных отсутствует Конечно, в столбец quota для нового служащего можно ввести значение О, однако это исказит ситуацию План служащего не равен нулю, а пока просто неизвестен Аналогично, столбец manager в таблице salesreps для каждого служащего содержит идентификатор его менеджера Однако Сэм Кларк (Sam Clark), вице-президент по торговым операциям, не подчиняется никому из отдела сбыта К нему этот столбец не относится И опять можно ввести в столбец manager для вице-президента число О или 9999, но ни одно из них не будет настоящим идентификатором начальника Сэма Кларка Для этой строки не подходит ни одно число SQL поддерживает обработку отсутствующих данных с помощью понятия отсутствующее значение Это значение показывает, что в конкретной строке определенный элемент данных отсутствует или что столбец вообще не подходит для этой строки Говорят, что значение такого элемента данных равно null Однако null не является значением данных, как О, 483,00 или Sam Clark Напротив, это признак, показывающий, что точное значение данных неизвестно или отсутствует На рис 5 3 показано содержимое таблицы salesreps Обратите внимание на то, что в столбцах quota и rep 0ffice для Тома Снайдера (Тот Snyder) и в столбце manager для Сэма Кларка (Sam Clark) содержатся значения null Таблица SALESREPS
Значение неизвестно Значение не подходит Значение неизвестно Рис 53 ЗначвнияМоьь в табтт SALESREPS Во многих ситуациях значения null требуют от СУБД отдельной обработки Например, если пользователь просит вычислить сумму по столбцу quota, что СУБД должна делать со значениями null при вычислении суммы Ответ на подобные вопросы дает набор правил обработки значений null в различных инструкциях и предложениях SQL Из-за необходимости включения таких правил в синтаксис языка SQL многие теоретики реляционных баз данных считают, что значения null не следует использовать Другие, в том числе доктор Кодд, отстаивают использование значений null двух видов, означающих неизвестно и неприменимо Независимо от теоретических споров, значения NULL стали частью стандарта ANSI/ISO и реализованы почти во всех коммерческих СУБД. О специальных правилах обработки значений NULL (и отличиях, существующих при обработке таких значений в различных СУБД) рассказывается в соответствующих парафафах этой книги. Резюме в настоящей главе были описаны основные элементы SQL. Язык SQL включает около сорока инструкций, каждая из которых состоит из команды и одного или нескольких предложений. Каждая инструкция выполняет одно конкретное действие В реляционных базах данных могут храниться значения различных типов, включая текст, целые и десятичные числа, числа с плавающей запятой и данные ряда других типов, введенных в диалект SQL конкретным поставщиком СУБД. Инструкции SQL могут включать в себя выражения, в которых над именами столбцов, константами и встроенными функциями выполняются арифметические и другие операции Разнообразие типов данных, констант и встроенных функций делает переносимость инструкций SQL более сложной задачей, чем это может показаться на первый взгляд. Значения NULL используются для обработки отсутствующих или неподходящих элементов данных.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |