Теория баз данных


         

March 15, 1999 Маг 15


Приведем примеры констант в MS SQL Server:

March 15, 1999 Маг 15 1999 3/15/1999 3-15-99 1999 MAR 15

В СУБД ORACLE та же константа запишется как

15-MAR-99

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

В операторах SQL могут использоваться выражения, которые строятся по стандартным правилам применения знаков арифметических операций сложения (+), вычитания (-), умножения (*) и деления (/). Однако в ряде СУБД операция деления (/) интерпретируется как деление нацело, поэтому при построении сложных выражений вы можете получить результат, не соответствующий традиционной интерпретации выражения. В стандарт SQL2 включена возможность выполнения операций сложения и вычитания над датами. В большинстве СУБД также определена операция конкатенации над строковыми данными, обозначается она, к сожалению, по-разному. Так, например, для DB2 операция конкатенации обозначается двойной вертикальной чертой, в MS SQL Server — знаком сложения (+), поэтому два выражения, созданные в разных СУБД, эквивалентны:

'Mr./Mrs. '| | NAME || '' LAST_NAME

'Mr./Mrs. ' + NAME + ' ' LAST_NAME

В стандарте SQL1 не были определены встроенные функции, однако в большинстве коммерческих СУБД такие функции были реализованы, и в стандарт SQL2 уже введен ряд стандартных встроенных функций:

  • BIT_LENGTH(cтpoкa) — количество битов в строке;

  • САSТ(значение AS тип данных) — значение, преобразованное в заданный тип данных;

  • CHAR_LENGTH(cтpoкa) — длина строки символов;

  • CONVERT(cтpoкa USING функция) — строка, преобразованная в соответствии с указанной функцией;

  • CURRENT_DATE - текущая дата;

  • CURRENT_TIME(точность) — текущее время с указанной точностью;

  • CURRENT_TIMESTAMP(точность) — текущие дата и время с указанной точностью;

  • LOWER(cтpокa) — строка, преобразованная к верхнему регистру;


  • OCTED_LENGTH(строка) — число байтов в строке символов;

  • POSITION( первая строка IN вторая строка) — позиция, с которой начинается вхождение первой строки во вторую;

  • SUBSTRING(cтpoкa FROM n FOR длина) — часть строки, начинающаяся с n-го символа и имеющая указанную длину;

  • TRANSLATE(строка USING функция) — строка, преобразованная с использованием указанной функции;

  • TRIM(BOTH символ FROM строка) — строка, у которой удалены все первые и последние символы;

  • TRIM(LEADING символ FROM строка ) — строка, в которой удалены все первые указанные символы;

  • TRIM(TRAILING символ FROM строка) — строка, в которой удалены последние указанные символы;

  • UPPER(строка) — строка, преобразованная к верхнему регистру.




    Содержание  Назад  Вперед