Лексическая структура в Postgresql
Спецпоследовательности в строках
Для использования спецпоследовательностей в строке перед строкой ставится заглавная или строчная 'E', например:
\n новая строка
\r возврат каретки
\t табуляция
Спецпоследовательности Unicode в строковых константах работают при включенном параметре standard_conforming_strings равен on
demo=# SELECT E'test\ttest\ntest';
?column?
--------------
test test+
test
(1 row)
Строковые константы
Поведением обратной косой черты в строковых константах управляют параметры escape_string_warning и backslash_quote и дополнительно параметр конфигурации standard_conforming_strings
Для использования символов UNICODE в строках используется формат: U&'d\0061t\+000061'
Вместо кавычек в строковых константах можно использовать знак доллара, внутри такой строки можно использовать спецсимволы в чистом виде
Для битовых констант, перед строкой необходимо установить флаг 'B'
Битовые константы также могут быть записаны в шестнадцатиричном формате, для этого надо указть перед стройкой символ 'X'
--Пример использования UNICODE
demo=# select U&'d\0061t\+000061' ;
?column?
----------
data
(1 row)
--знак доллара вместо кавычек
demo=# SELECT $$один два три$$ ;
?column?
--------------
один два три
(1 row)
--битовые константы в шестандцатиричном формате
demo=# select X'1FA';
?column?
--------------
000111111010
(1 row)
--битовые константы в двоичном формате
demo=# select B'1001';
?column?
----------
1001
(1 row)
Числовые константы
Значение в пределах 32 бит - это integer
от 32 до 64 бит - это bigint
больше 64, в том числе значения с десятичной точкой и экспоненты - это тип numeric
Можно явно преобразовать значение в определенный тип используя соответствующий постфикс нужного типа, например 2.3::REAL или префикс через пробел, если значение изначально является строкой
--Приведение типа:
demo=# SELECT 2.3::REAL ;
float4
--------
2.3
(1 row)
--Приведение типа строки
demo=# SELECT REAL '2.3' ;
float4
--------
2.3
(1 row)
--Приведения типа строки с помощью CAST
demo=# SELECT CAST ( '2.3' AS REAL );
float4
--------
2.3
(1 row)
--
Специальные симолы
$ - знак доллара представляется как позиционный парметр в теле функции
() - круглые скобки группируют выражения, повышают приоритет операции, также являются необходимой частью синтаксиса
[] - квадратные скобки выделяют элементы массива
запятая разделяет, например атрибуты, используется в синтаксических конструкциях
: - двоеточие применяется для выборки так называемых "срезов" массивов или в качестве префикса в переменной
* - звездочка имеет значение как в регулярных выражениях
. - точка для вещественных чисел и разделения пространства имен
:: - приведение типов
^ - возведение в степень
BETWEEN IN LIKE ILIKE SIMILAR - проверка диапазона
операторы сравнения используются как и в языке СИ
NOT - отрицание
AND - конъюнкция
OR - дизъюнкция
Комментарии
Для одиночного комментария используется --
Для многострочконого комментария используется СИ подобный синтаксис /*комментарий*/
Источники
Связанные темы
Оптимизация запросов в Postgresql
Установка и настройка MS SQL Server 2008 на Windows Server 2008 r
Системный каталог в Postgresql
Табличные пространства в Postgresql
Определение данных в Postgresql
Изменение временной зоны в Postgresql
Основные команды psql и sql Postgresql
Методы формирования соединений наборов строк