SQLсервер в Linux -самостоятельное освоение пакета

         

Функция SQL92 char_l engthC) получает


booktown=# SELECT btrimC whitespace example ') AS trim_blanks,
booktown-# btr1m('123example 332', '123') AS trimjnumbers:
trim_blanks | trim_numbers
whitespace example example
(1 row)
char_length()
Синтаксис:
charjength(s)
Функция SQL92 char_l engthC) получает один аргумент s типа text, varchar или character и возвращает длину полученной строки в символах. Возвращаемое значение относится к типу integer.

Функция current_timestamp вызывается без аргументов


booktown=# SELECT current_time,
booktown-# 'now'::time AS time;
time | time
11:36:52 | 11:36:52
(1 row)
current_timestamp
Синтаксис:
current_timestamp
Функция current_timestamp вызывается без аргументов и возвращает текущее время в виде значения типа timestamp. Результат эквивалентен преобразованию специальной константы now к типу timestamp или вызову функции now().

f типа text, форматирует число




booktown=# SELECT bittoint4(B'101010').
booktown-# Mttoint4(bitfromint4(99))
AS inverse_example: bittoint4 inverse_example
42 | 99
(1 row)
to_char() для чисел
Синтаксис:
to_char(n. f)
Функция to_char(), вызываемая с аргументом п типа numeri с и аргументом f типа text, форматирует число п в строку типа text. Строка f описывает формат выходного значения.
Форматная строка f состоит из метасимволов, вместо которых PostgreSQL подставляет представляемые ими значения. Метасимволы, используемые в форматных строках, перечислены в табл. 5.14.

О возвращает арктангенс аргумента х,


testdb=# SELECT asin(l), asin(O), asin(-l),
testdb-# asin(sind)) AS inverse_examp1e;
asin | asin [ asin [ lnverse_example
1.5707963267949 0 | -1.5707963267949 | 1
(1 row)
itan()
Синтаксис:
itan(x)
Функция atari О возвращает арктангенс аргумента х, относящегося к типу doubl e )reci slon. Фактически является обратной по отношению к функции tan(). Результат представляет собой угол (в радианах) в интервале от -л/2 де я/2, выраженный типом double precision.

равным п. Возвращаемое значение относится


booktown=# SELECT charjength(title). title
booktown-l FROM books Dooktown-# LIMIT 3: charjength | title
11 | The Shining
4 Dune
21 I 2001: A Space Odyssey
(3 rows)
chr()
Синтаксис: chr(n)
Функция chr() получает один числовой аргумент п типа integer и возвращает символ с ASCII-кодом, равным п. Возвращаемое значение относится к типу text. Функция chr() фактически является обратной по отношению к функции asci 1 ().

получает два аргумента. Первый аргумент


booktown=# SELECT current_timestamp.
booktown-# now() AS timestamp;
timestamp | timestamp
2001-08-31 11:39:42-07 2001-08-31 11:39:42-07
(1 row)
date_part()
Синтаксис:
date_part(s. t) date_part(s. i)
Функция date_part() получает два аргумента. Первый аргумент s относится к типу text, а второй, t или I, — к типу timestamp или interval соответственно. Функция выделяет во втором аргументе компонент, определяемый строкой s, и возвращает его в виде значения типа doubl e preci si on.
Чтобы лучше понять, как работает функция date_part(), представьте, что значение типа timestamp или interval делится на компоненты — часы, минуты и т. д. Эти компоненты (и соответственно допустимые значения аргумента s) перечислены в табл. 5.12. Помните, что некоторые значения относятся только к типу tlmestamp и не поддерживаются для типа Interval.

Модификатор FM имеет важное значение


booktown=# SELECT timestamp('197825thJuly01:12am')
booktown-# AS non_standard_timestamp,
booktown-l to_fimestamp('197825July01:12am',
booktown(# 'YYYYDDFMMonthHH12:MIam')
booktown-# AS correcMnterpretation;
non_standard_timestamp | correctjnterpretation
2025-06-27 01:12:00-07 1978-07-25 01:12:00-07
(1 row)
Примечание 3
Примечание 3

Модификатор FM имеет важное значение для правильной интерпретации данных, следующих за названием месяца или дня недели, поскольку эти названия часто дополняются пробелами до 9 символов. Помните, что модификатор FM не является глобальным — он должен предшествовать каждом/элементу, к которому он применяется.
timestamp()
Синтаксис:
timestamp(d) timestamptd, t)
Функция ti mestampC) получает либо один аргумент типа date, либо два аргумента типов date и time соответственно. Переданные аргументы преобразуются в значение типа tlmestamp и возвращаются функцией. При передаче одного аргумента предполагается, что время соответствует полуночи заданной даты.

возвращает арктангенс, то есть угол


testdb=# SELECT atan(l). atan(O). atan(-l),
testdb-# atan(tand)) AS inverse_example;
atan atan | atan | inverse_example
0.785398163397448 | 0 | -0.785398163397448 | 1
(1 row)
itan2()
Синтаксис:
3tari2(x.y)
По аналогии с функцией atan(), функция atan2() возвращает арктангенс, то есть угол (в радианах) в интервале от -я/2 до я/2, выраженный типом doubl e preci si on. Однако в отличие от atan() она получает два аргумента типа double precision вместо одного и возвращает арктангенс величины, полученной делением первого аргумента на второй.
В общем случае вызов функции atan2(x,y) эквивалентен вызову atan(x/y), но при передаче аргумента у=0 функции atan2() не происходит ошибки деления на ноль, как при вызове atan() для величины х/у. Если аргумент у равен нулю, функция atan2() возвращает я/2 для положительных значений х, -я/2 для отрицательных х и 0 для х=0.

s типа text, varchar или


booktown=# SELECT initcapCa prospective book title'):
initcap
A Prospective Book Title
(1 row)
length()
Синтаксис:
length(s)
Аналог функции SQL92 charj ength(). Получает один аргумент s типа text, varchar или character и возвращает длину полученной строки в символах в виде значения типа integer.

Функция SQL92 extractO представляет собой


booktown=# SELECT date_trune('minute', now());
date trunc
2001-08-31 09:59:00-07
(1 row)
booktown=# SELECT date_trunc( 'hour', now());
date trunc
2001-08-31 09:00:00-07 (1 row)
booktown=# SELECT date_trunc('year', now());
date trunc
2001-01-01 00:00:00-08
(1 row)
extract()
Синтаксис:
extract(k FROM t) extract(k FROM 1)
Функция SQL92 extractO представляет собой аналог функции PostgreSQL date_part() со слегка измененным синтаксисом. При перечислении аргументов вместо запятой используется ключевое слово FROM. Аргументы аналогичны аргументам функции date_part(), хотя первый аргумент является ключевым словом SQL, а не строкой и поэтому не заключается в кавычки. Допустимые значения k перечислены в табл. 5.12.
Учтите, что функция extractO является «псевдонимом» функции PostgreSQL date_part () в синтаксисе SQL92, поэтому по умолчанию в выходных данных функция extract() представляется именем date_part.

AS today_at_midnight,


booktown=# SELECT timestamp(date('now'))
AS today_at_midnight,
booktown-# timestamp(dateCnow'),
booktownd time('now')) AS right_now;
today_at_m1dnight | rightjiow
2001-09-01 00:00:00-07 | 2001-09-01 18:04:16-07
(1 row)

и возвращает кубический корень, также


testdb=# SELECT atan2(0, 1). atan2(l, 1),
testdb-# atanCO / 1) AS functionally.
testdb-# atand / 1) AS identical;
atan2 atan2 | functionally identical
0 i 0.785398163397448 | 0 | 0.785398163397448 (1 row)
testdb=# SELECT atan2(l, 0) AS positive_x.
testdb-# atan2(-l, 0) AS negative_x,
testdb-# atan2(0, 0) AS zero_x,
testdb-i pi() / 2 AS pi_over_two:
positive_x | negative_x | zero_x \ pi_over_two
1.5707963267949 | -1.5707963267949 | 0 | 1.5707963267949
(1 row)
cbrt()
Синтаксис:
cbrt()
Функция cbrt () получает один числовой аргумент х типа doubl e preci si on и возвращает кубический корень, также представленный типом double precision. Фактически является обратной по отношению к функции pow(), выполняющей возведение в третью степень.

В стандарт SQL92 включены две


booktown=# SELECT length(title), title
booktown-# FROM books
booktown-# LIMIT 3; length title
11 | The Shining 4 I Dune
21 | 2001: A Space Odyssey
(3 rows)
Примечание 1
Примечание 1

В стандарт SQL92 включены две функции определения длины строки: char_length() и octet_length(). Следовательно, эти две функции с большей, чем функция length(), вероятностью будут поддерживаться другими реляционными СУБД.
like() и ilike()
Синтаксис:
s like (f) s LIKE f like(s.f) s ilike(f) s HIKE f
Функция 1 i ke() проверяет, совпадает ли выражение, заданное аргументом f, со строкой s. При вызове функции либо передаются два аргумента типа text, либо используется специальный синтаксис SQL, в котором аргумент s предшествует имени функции. Функция 11 i ke() является нестандартной версией функции 11 ke(), игнорирующей регистр символов при сравнении, и вызывается только в синтаксисе SQL.
Примечание 2
Примечание 2

Ключевое слово SQL LIKE в PostgreSQL заменяется вызовом функции likeO. Возможность использования ключевого слова LIKE без круглых скобок — всего лишь синтаксическое удобство, на практике оба варианта эквивалентны.
Использование функции 1 ike() отличается от обычного сравнения с помощью оператора =, поскольку строка f может содержать символы подчеркивания (_) или процента (%), интерпретируемые особым образом. PostgreSQL интерпретирует символ _ как один произвольный символ, а символ % — как ноль или более произвольных символов. Эти специальные символы могут находиться в любом месте строки f.
В PostgreSQL существуют и более совершенные средства поиска по шаблону, о которых говорилось в пункте «Операторы регулярных выражений» подраздела «Строковые операторы» раздела «Операторы» этой главы.

в виде значения типа timestamp.


booktown=# SELECT isfinite('now'::timestamp) AS now_is_finite,
booktown-# isfinite('infinity'::timestamp) AS Infinity,
booktown-# isfiniteC'invalid'::timestamp) AS invalid;
now_is_finite | infinity | invalid
(1 row)
now()
Синтаксис:
now()
Функция now() вызывается без аргументов и возвращает текущую дату и время в виде значения типа timestamp.

получает один числовой аргумент х,


testdb=# SELECT pow(2.0. 3) AS "two cubed".
testdb-# cbrt(8.0) AS "eight's cube root";
two cubed | eight's cube root
8 | 2
(1 row)
ceil()
Синтаксис:
ceil(x)
Функция cei 1 () получает один числовой аргумент х, относящийся к любому из числовых типов данных (numeric, bigint, smallint, real или double precision), и округляет его до минимального целого, не меньшего переданной величины. Целые числа остаются без изменений.

с двумя или тремя аргументами


booktown=# SELECT lower(title)
booktown-# FROM books
booktown-# LIMIT 3;
lower
tne shining
dune
2001: a space odyssey
lpad()
Синтаксис:
lpad(s. n) 1pacl(s. n. c)
Функция lpad() вызывается с двумя или тремя аргументами s, n и с (необязательный аргумент), относящимися к типам text, Integer и text соответственно. Строка s дополняется слева до длины n символов пробелами или содержимым необязательного аргумента с.
Если начальная длина строки s больше п, строка усекается справа до длины п.

и дату. Она похожа на


booktown=# SELECT now();
now
2001-08-31 10:31:18-07
(1 row)
timeofday()
Синтаксис: timeofdayO
Функция timeofday() вызывается без аргументов и возвращает текущие время и дату. Она похожа на функцию now(), но возвращает значение типа text. Это делает ее менее удобной, поскольку значение не разделяется на компоненты функциями date_part() и to_char() без предварительного преобразования к другому типу.

х типа double precision, представляющий


testdb=# SELECT ceil(1.0). ceil(1.1), ceil(1.5);
ceil | ceil ceil
1 | 2 | 2
(1 row)
COS()
Синтаксис:
COSU)
Функция cos О получает один аргумент х типа double precision, представляющий угол в радианах, и возвращает косинус этого угла в виде типа doubl e preci si on.

SELECT title. IpadCtitle, 12, AS


booktown=# SELECT title. IpadCtitle, 12, AS dashed,
booktown-# IpadCtitle. 12. '-+-') AS pius_dashed
booktown-# FROM books LIMIT 4;
title | dashed | plus_dashed _
The Shining | -The Shining | -The Shining
Dune |Dune Dune
2001: A Space Odyssey | 2001: A Spac | 2001: A Spac
The Cat in the Hat | The Cat in t | The Cat in t
(4 rows)
Itrim()
Синтаксис:
Itrim(s) ItrimCs. f)
Функция 11 ri m() получает один или два аргумента типа text (аргумент f не обязателен). Если аргумент f не задан, функция возвращает строку s, из которой удалены все начальные пробелы. В противном случае удаляется начальная подстрока, состоящая только из символов, содержащихся в f. Если такая подстрока не найдена, s остается без изменений.

Fn Aug 31


Dooktown=# SELECT timeofday();
timeofday
Fn Aug 31 10:33:00.837338 2001 PDT
(1 row)

х типа double precision, представляющий


testdb=# SELECT cos (pi О) AS cosj>i.
testdb-# cos(O) AS cos_zero:
cos_pi | cos_zero
1 | 1
(1 row)
cot()
Синтаксис:
cot(x)
Функция cot() получает один аргумент х типа double precision, представляющий угол в радианах, и возвращает котангенс этого угла в виде типа doubl e preci s i on. Аргумент должен быть отличным от нуля.

The Cat in the Hat


booktown=# SELECT title, positiorK'the' IN title) AS the_pos
booktown-# FROM books
booktown-# WHERE positionCthe1 IN title) != 0:
title | the_pos
The Cat in the Hat | 12
Bartholomew and the Oobleck | 17
Franklin in the Dark 13
(3 rows)
repeat()
Синтаксис: repeat(s. n)
Функция repeat О получает два аргумента s и п, относящихся к типам text и integer соответственно. Функция возвращает символьную строку s, повторенную п раз, в виде значения типа text.

г типа double precision, представляющий


testdb=# SELECT cot(l). cot(-l):
cot cot
0.642092615934331 | -0.642092615934331
(1 row)
degrees()
Синтаксис:
degrees(r)
Функция degreesO получает аргумент г типа double precision, представляющий угол в радианах, и преобразует его в градусы. Возвращаемое значение относится к типу double precision. Фактически функция degreesO является обратной по отношению к функции radians().

Функция rpadO похожа на функцию


booktown=# SELECT repeat(lastjname. 2)
booktown-l FROM authors booktown-# LIMIT 3; repeat
DenhamDenham BourgeoisBourgeois BiancoBianco
(3 rows)
rpad()
Синтаксис:
rpad(s. n) rpad(s. n. c)
Функция rpadO похожа на функцию IpadO, но дополняет строку справа, а не слева. Она вызывается с двумя или тремя аргументами s, n и с (необязательный аргумент), относящимися к типам text, integer и text соответственно. Строка s дополняется справа до длины п символов пробелами или содержимым необязательного аргумента с.
Если начальная длина строки s больше п, строка усекается слева до длины п.

и возвращает его экспоненту, то


testdb=# SELECT degrees(acos(-D) AS half_circle.
testdb-# degrees(pi) * 2) AS ful1_circle:
half_circle | full_circle
180 | 360
(1 row)
exp()
Синтаксис:
exp(x)
Функция получает один аргумент х типа numeri с или doubl e preci si on и возвращает его экспоненту, то есть результат возведения константы е в заданную степень.

получает один или два аргумента


booktown=# SELECT rpad('whitespace example'. 30): rpad
whitespace example (1 row)
booktown=# SELECT title. rpacKtitle. 12, ' -') AS right_dashed.
booktown-# rpad(title, 12, '-+-') AS right_plus_dashed
booktown-# FROM books
booktown-f LIMIT 3:
title [ right_dashed | right_plus_dashed
The Shining The Shining- | The Shining-Dune Dune
2001: A Space Odyssey 2001: A Spac 2001: A Spac
(3 rows)
rtrim()
Синтаксис:
rtrim(s)
trlm(s. f)
Функция rtri m() получает один или два аргумента типа text (аргумент f не обязателен). Если аргумент f не задан, функция возвращает строку s, из которой удалены все завершаю nine пробелы. В противном случае удаляется завершающая подстрока, состоящая только из символов, содержащихся в f. Если такая подстрока не найдена, s остается без изменений.

и округляет его до максимального


testdb=# SELECT exp(O.O) AS one.
testdb-# exp(l.O) AS e.
testdb-* exp(2.0) AS "e squared":
one I e I e squared
1 | 2.71828182845905 | 7.38905609893065
(1 row)
floor()
Синтаксис:
floor(x)
Функция f 1 оог() получает один аргумент х типа numeri с и округляет его до максимального целого, не большего переданной величины. Целые числа остаются без изменений.

Функция substrO эквивалентна функции SQL92


booktown=# SELECT title, strposdower(title), 'rabbit')
booktown-l FROM books
booktown-# WHERE strposdower(title), 'rabbit') != 0;
title | strpos
The Velveteen Rabbit | 15
(1 row)
substr()
Синтаксис:
substr(s. n) substr(s. n. 1)
Функция substrO эквивалентна функции SQL92 substring!), но аргументы передаются ей в стиле С. Функция вызывается с двумя или тремя аргументами s, n и 1 (необязательный аргумент), относящимися к типам text, т nteger и i nteger соответственно. Возвращаемое значение представляет собой подстроку s, начинающуюся с позиции п. Необязательный аргумент 1 определяет максимальную длину подстроки в символах.
Если заданная длина подстроки превышает количество оставшихся символов в строке s, возвращается только остаток строки. Иначе говоря, возвращаемое значение не дополняется до заданной длины.

one one point one one


testdb=# SELECT floor(l.O) AS one.
testdb-# floor(1.1) AS "one point one",
testdb-# floord.8) AS "one point eight";
one one point one one point eight
1 | 1 | 1
(1 row)
ln()
Синтаксис:
ln(x)
Функция ln(x) получает один аргумент х типа numeric или double precision и возвращает его натуральный логарифм. Фактически является обратной по отношению к функции ехр(). Эквивалентна вызову функции log() с передачей основания е.

с двумя или тремя аргументами


booktown=# SELECT title, substr(title, 15). substr(title. 5. 9)
booktown-# FROM books
booktown-# ORDER BY title DESC
booktown-# LIMIT 3;
title | substr | substr
The Velveteen Rabbit Rabbit | Velveteen
The Tell-Tale Heart Heart Tell-Tale
The Shining | | Shining
(3 rows)
substring()
Синтаксис:
substrts. n) substr(s, n. 1)
Функция SQL92 substring() эквивалентна функции PostgreSQLsubstr(). Функция вызывается с двумя или тремя аргументами s, n и 1 (необязательный аргумент), относящимися к типам text, integer и integer соответственно. Возвращаемое значение представляет собой подстроку s, начинающуюся с позиции п. Необязательный аргумент 1 определяет максимальную длину подстроки в символах.

получает один или два аргумента


testdb=# SELECT In(lO.O) AS naturaljog.
testdb-| log(expd.O). 10.0) AS naturaljog,
testdb-# In(expdO.O)) AS inverse_example:
naturaljog | naturaljog | inverse_example
2.30258509299405 | 2.30258509299404 | 10
(1 row)
log()
Синтаксис:
log(x) log(b.x)
Функция log() получает один или два аргумента типа numeric. Если передан один аргумент, возвращается его десятичный логарифм. Если переданы два аргумента, функция log(b.x) возвращает логарифм х по основанию Ь.

в строку f, заменяются символами


booktown=# SELECT to_ascii('Multibyte Source', 'LATIN1');
to_ascii
Multibyte Source
(1 row)
translate()
Синтаксис: translate(s. f. r)
Функция transl ate() получает три аргумента s, f и г, относящихся к типу text. В строке s все символы, входящие в строку f, заменяются символами с тем же индексом из строки г. Возвращаемое значение относится к типу text.
Обратите внимание: функция заменяет не экземпляры всей строки f, а любые символы, входящие в эту строку. Если f содержит больше символов, чем г, то все символы f, не имеющие аналогов в г, просто удаляются из s (удобный способ удаления ненужных символов).
В следующем примере все вопросительные знаки заменяются восклицательными.

logJ2 logJ2 log 12. base


testdb=# SELECT log(12.0) AS logj.2.
testdb-# logdO. 12.0) AS logj.2.
testdb-# log(3, 12.0) AS "log 12. base 3";
logJ2 logJ2 log 12. base 3
1.07918124604762 | 1.0791812460 | 2.2618595071
(1 row)
mod()
Синтаксис:
mod(x.y)
Функция mocK) получает два аргумента х и у, относящихся к числовым типам numeric, Integer, smallint или bigint. Возвращаемое значение представляет собой остаток от деления х на у.

В следующем примере все вхождения


booktown=# SELECT translated am an example?', '?', '!'):
translate
I am an example!
(1 row)
В следующем примере все вхождения символа «i» заменяются символом «w», а все вхождения символа «s» — символом «а». Лишний символ в конце строки «was» игнорируется.

и возвращает константу п, примерно


testdb=# SELECT mod(5. 5) AS no_remainder.
testdo-# mod(6, 5) AS remainder_one,
mod(19. 5) AS remainder_four;
no_remainder | rema1nder_one | remainder_four
0 | 1 | 4
(1 row)
pi()
Синтаксис:
pi()
Функция pi () вызывается без аргументов и возвращает константу п, примерно равную 3,14159265358978.

В последнем примере все гласные


booktown=# SELECT translate('This is a mistake.', 'is', 'was');
translate
Thwa wa a mwatake.
(1 row)
В последнем примере все гласные буквы заменяются пустой строкой, то есть удаляются из входной строки.

i on. Возвращаемое значение представляет


testdb=# SELECT pi() AS "the pi constant":
the pi constant
3.14159265358979
(1 row)
pow()
Синтаксис:
pow(x.y)
Функция pow() получает два аргумента х и у, относящихся к числовым типам numeri с или doubl e preci s i on. Возвращаемое значение представляет собой результат возведения х в степень у. Тип данных результата совпадает с типом переданных аргументов. Следует помнить, что аргументы должны содержать десятичную точку.

The Cat In the Hat


booktown=# SELECT title.
booktown-# translateCtitle, 'aeiouAEIOU', '') AS vowelless
booktown-# FROM books
booktown-f LIMIT 5;
title | vowelless
The Shining Th Shnng
Dune I Dn
2001: A Space Odyssey | 2001: Spc dyssy
The Cat In the Hat | Th Ct n th Ht
Bartholomew and the Oobleck Brthlmw nd th blck
(5 rows)
trim()
Синтаксис:
trim(направление f FROM s)
Функция SQL92 trim() способна заменить функции PostgreSQL rtrim(), ltrim() и btrim(). При вызове она получает три аргумента: ключевое слово (LEADING, TRAILING или BOTH) и две строки, f и s.
С ключевым словом LEADING функция trim() работает аналогично функции ItrimO, удаляя в начале строки s наибольшую подстроку, все символы которой входят в f.
С ключевым словом TRAILING функция trim() работает аналогично функции rtrim(), удаляя в конце строки s наибольшую подстроку, все символы которой входят в f.
С ключевым словом BOTH функция trim() работает аналогично функции btrim(), удаляя в начале и в конце строки s наибольшие подстроки, все символы которых входят в f.

d типа double precision, представляющий


testdb=# SELECT pow(2.0, 3.0) AS "two cubed".
testdb-# pow(2.0, 2.0) AS "two squared".
testdb-# pow(2.0, 1.0) AS "just two";
two cubed | two squared just two
8 | 4 2
(1 row)
radlans()
Синтаксис:
radians(d)
Функция radians () получает аргумент d типа double precision, представляющий угол в градусах, и преобразует его в радианы. Возвращаемое значение относится к типу double precision. Фактически функция radiansO является обратной по отношению к функции degrees ().

ORDER BY id ASC


booktown=# SELECT title, upper(title)
booktown-# FROM books
booktown-# ORDER BY id ASC
booktown-# LIMIT 3;
title | upper
The Tell-Tale Heart | THE TELL-TALE HEART
Little Women j LITTLE WOMEN
The Velveteen Rabbit | THE VELVETEEN RABBIT
(3 rows)

и возвращает псевдослучайное число типа


testdb=# SELECT radians(180) AS ha1f_circle.
testdb-# radians(360) AS fu11_circle;
half_circle | full_cnrcle
3.14159265358979 | 6.28318530717959
(1 row)
random ()
Синтаксис:
randon ()
Функция random() вызывается без аргументов и возвращает псевдослучайное число типа double precision в интервале от 0,0 до 1,0. При каждом вызове randonK) генерируется новое значение, даже если функция вызывается несколько раз в одном запросе.
Обычно функция random() используется в сочетании с математическими операторами (например, + и *) для получения псевдослучайных чисел в заданном интервале и последующим вызовом одной из функций округления (roundC), trunc() и т. д.).

SELECT randonK) AS natural random,


testdb=# SELECT randonK) AS natural random,
testdb-# round(randomO * 9) + I AS one_through_ten.
testdb-# truncC randonK) * 99) + 1 AS one_through_one_hundred:
natural_random | one_through_ten | one_through_one_hundred
0.478887704424042 | 2 | 37
(1 row)
round ()
Синтаксис:
round(x) round(x.s)
Функция roundO вызывается с одним или с двумя аргументами. Первый аргумент х относится к типу numeric или double precision и определяет округляемое число. Второй необязательный аргумент s относится к типу integer и определяет количество цифр в дробной части после округления. Тип возвращаемого значения совпадает с типом первого аргумента.
Если значение аргумента s больше количества цифр в дробной части х, недостающие позиции заполняются нулями.