Иллюстрированный самоучитель по SQL для начинающих

Определение значений

Литеральные значения

В SQL значение может быть представлено или переменной, или константой. Было бы логично считать, что значение переменной время от времени меняется, а значение константы (т.е. постоянной величины) не меняется никогда. Важной разновидностью констант является литеральное значение. Литерал можно считать WYSIWYG-значением, потому что "то, что вы видите, то вы и получаете" (What Kou See Is What Кои Get). Представление литерального значения как раз и является этим самым значением.

Так как в языке SQL имеется много разных типов данных, то в нем имеется и много разных типов литералов. Некоторые примеры литералов разных типов данных приведены в табл. 7.1.

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

Таблица 7.1. Примеры литералов различных типов данных.

Тип данных Пример литерала
BIGINT 8589934592
INTEGER 186282
SMALLINT 186
NUMERIC 186282.42
DECIMAL 186282.42
REAL 6.02257e23
DOUBLE PRECISION 3.1415926535897e00
FLOAT 6.02257e23
CHARACTER (15) Примечание: в строке в одинарные кавычки заключено пятнадцать символов и пробелов 'GREECE'
VARCHAR (CHARACTER VARYING) 'lepton'
NATIONAL CHARACTER(15) Примечание:в строке в одинарные кавычки заключено пятнадцать символов и пробелов 'EΛΛAΣ' Примечание:Этот термин является словом, которым греки называют Грецию на своем языке. (Если написать его по-английски, то получится "Hellas", а по-русски – "Эллада".)
NATIONAL CHARACTER VARYING 'λεπτον' Этот термин является словом "lepton " (лептон), написанным буквами греческого алфавита.
CHARACTER URGE OBJECT (CLOB) Очень длинная символьная стока
BINARY LARGE OBJECT (BLOB) Очень длинная строка, состоящая из нулей и единиц (0и1)
DATE DATE '1969-07-20'
TIME(2) TIME '13.41.32.50'
TIMESTAMP(O) TIMESTAMP '1998-05-17-13.03.16.000000'
TIME WITH TIMEZONE(4) TIME '13.41.32.5000-08.00'
TIMESTAMP WITH TIMEZONE(4) TIMESTAMP '1998-05-17-13.03.16.0000+02.00'
INTERVAL DAY INTERVAL '7 DAY'

А если литерал является символьной строкой, содержащей символ одинарной кавычки? В таком случае вместо одного этого символа в литерале должны быть две одинарные кавычки подряд, чтобы показать, что кавычка является частью строки и не указывает на ее завершение. Таким образом, чтобы получился символьный литерал 'Earth's atmosphere', необходимо ввести 'Earth''s atmosphere'.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.