Każdy system bazodanowy dostarcza podstawowe funkcje wbudowane umożliwiające dokonywanie typowych akcji na przechowywanych danych. Niestety w zależności od typu bazy danych i jej producenta dostarczane zestawy funkcji różnią się między sobą. Poniżej przedstawiono podstawowe funkcje dostępne w PstgreSQL.

Funkcje tekstowe

Poniższa tabelka zawiera podstawowe funkcje tekstowe dostępne w PostgreSQL.

Funkcja Typ Opis Przykład Wynik
string || string text Złączenie ciągów Post' || 'greSQL' PostgreSQL
bit_length(string) integer Liczba bitów w ciągu bit_length('dom') 24
char_length(string) or character_length(string) integer Liczba znaków w ciągu char_length('dom') 3
convert(string using conversion_name) text Zmiana kodowania tekstu convert('PostgreSQL' using iso_8859_1_to_utf_8) PostgreSQL w kodwaniu UTF-8
lower(string) text Zamiana znaków na małe litery lower('TOMEK') tomek
octet_length(string) integer Liczba bajtów w ciągu octet_length('dom') 3
overlay(string placing string from integer [for integer]) text Zamiana fragmentu tekstu overlay('Txxxk' placing 'ome' from 2 for 3) Tomek
position(substring in string) integer Pozycja szukanego tekstu position('om' in 'Tomek') 2
substring(string [from integer] [for integer]) text Zwraca fragment tekstu substring('Tomek' from 2 for 3) ome
substring(string from pattern) text Zwraca fragment tekstu substring('Tomek' from '...$') ek
substring(string from pattern for escape) text Zwraca fragment tekstu substring('Tomek' from '%#"o_e#"_' for '#') ome
trim([leading | trailing | both] [characters] from string) text Usuwa zbędne znaki (domyślnie spacje) trim(both 'x' from 'xTomxx') Tom
upper(string) text Zamiana znaków na duże litery upper('tomek') TOMEK

Funkcje matematyczne

Poniższa tabela zawiera operatory matematyczne dostępne w PostgreSQL.

Operator Opis Przykład Wynik
+ suma 2 + 3 5
- różnica 2-3 -1
* iloczyn 2 * 3 6
/ iloraz 4/2 2
% reszta z dzielenia 5 % 4 1
^ potęga 2.0 ^ 3.0 8
|/ pierwiastek |/ 25.0 5
||/ pierwiastek 3st ||/ 27.0 3
! silnia 5 ! 120
!! silnia !! 5 120
@ wartość bezwzględna @ -5.0 5
& AND 91 & 15 11
| OR 32 | 3 35
# XOR 17 # 5 20
~ NOT ~1 -2
<< przesunięcie bitowe w lewo 1 << 4 16
>> przesunięcie bitowe w prawo 8 >> 2 2

Funkcje matematyczne wbudowane w PostgreSQL.

Funkcja Typ Opis Przykad Wynik
abs(x) - wartość bezwzględna abs(-17.4) 17,4
cbrt(dp) dp pierwiastek 3 st cbrt(27.0) 3
ceil(dp or numeric) - część całkowita ceil(-42.8) -42
ceiling(dp or numeric) - część cakowita ceiling(-95.3) -95
degrees(dp) dp zamiana rad na st. degrees(0.5) 28,65
exp(dp or numeric) - exponential exp(1.0) 2,72
floor(dp or numeric) - część całkowita floor(-42.8) -43
ln(dp or numeric) - logarytm naturalny ln(2.0) 0,69
log(dp or numeric) - logarytm dziesiętny log(100.0) 2
log(b numeric, x numeric) numeric log przy podstawie b log(2.0, 64.0) 6
mod(y, x) - reszta z dzielenia mod(9,4) 1
pi() dp liczba PI pi() 3,14
power(a dp, b dp) dp a raised to the power of b power(9.0, 3.0) 729
power(a numeric, b numeric) numeric a raised to the power of b power(9.0, 3.0) 729
radians(dp) dp zamiana st. na rad radians(45.0) 0,79
random() dp liczba losowa z przedziału 0-1 random() -
round(dp or numeric) - zaokrąglenie round(42.4) 42
round(v numeric, s integer) numeric zaokrągenie z podaną precyzją round(42.4382, 2) 42,44
setseed(dp) integer set seed for subsequent random() calls setseed(0.54823) 1177314959
sign(dp or numeric) - znak liczby sign(-8.4) -1
sqrt(dp or numeric) - pierwiastek sqrt(2.0) 1,41
trunc(dp or numeric) - liczba całkowita trunc(42.8) 42
trunc(v numeric, s integer) numeric obcięcie z dokładnością do.. trunc(42.4382, 2) 42,43