Программирование >>  Sql: полное руководство 

1 ... 23 24 25 [ 26 ] 27 28 29 ... 264


благодаря использованию встроенной функции то 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

EHPL NUH

NAME

REP OFFICE

TITLE

HIRE DATE

MANAGER

QUOTA

SALES

Bill Adams

Sales Rep

12-FEB-88

$350,000 00

$367,911 00

Hary Jones

Sales Rep

12-0CT-89

$300,000 00

$392,725 00

Sue Smith

Sales Rep

10-DEC-86

$350,000 00

$474,050 00

Sam Clark

VP Sales

14-JUN-88

$275,000 00

$299,912 00

Bob Smith

Sales Hgr

19-HAY-87

>106

$200,000 00

$142,594 00

Dan Roberts

Sales Rep

20-0CT-86

7104

$300,000 00

$305,673 00

Tom Snyder

Sales Rep

13-JAN-90

/ 101

$75,985 00

Larry Fitch

Sales Hgr

12-0CT-89.

106

$350,ooajoo

$361,865 00

Paul Cruz

Sales Rep

01-MAR-8/

$275,00Д 00

$286,775 00

Nancy Ange11i

Sales Rep

14-N0V-/8

$300,05(0 00

$186,042 00

Значение неизвестно Значение не подходит Значение неизвестно

Рис 53 ЗначвнияМоьь в табтт SALESREPS

Во многих ситуациях значения null требуют от СУБД отдельной обработки Например, если пользователь просит вычислить сумму по столбцу quota, что СУБД должна делать со значениями null при вычислении суммы Ответ на подобные вопросы дает набор правил обработки значений null в различных инструкциях и предложениях SQL Из-за необходимости включения таких правил в синтаксис языка SQL многие теоретики реляционных баз данных считают, что значения null не следует использовать Другие, в том числе доктор Кодд, отстаивают использование значений null двух видов, означающих неизвестно и неприменимо



Независимо от теоретических споров, значения NULL стали частью стандарта ANSI/ISO и реализованы почти во всех коммерческих СУБД. О специальных правилах обработки значений NULL (и отличиях, существующих при обработке таких значений в различных СУБД) рассказывается в соответствующих парафафах этой книги.

Резюме

в настоящей главе были описаны основные элементы SQL.

Язык SQL включает около сорока инструкций, каждая из которых состоит из команды и одного или нескольких предложений. Каждая инструкция выполняет одно конкретное действие

В реляционных базах данных могут храниться значения различных типов, включая текст, целые и десятичные числа, числа с плавающей запятой и данные ряда других типов, введенных в диалект SQL конкретным поставщиком СУБД.

Инструкции SQL могут включать в себя выражения, в которых над именами столбцов, константами и встроенными функциями выполняются арифметические и другие операции

Разнообразие типов данных, констант и встроенных функций делает переносимость инструкций SQL более сложной задачей, чем это может показаться на первый взгляд.

Значения NULL используются для обработки отсутствующих или неподходящих элементов данных.



1 ... 23 24 25 [ 26 ] 27 28 29 ... 264

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика