Aktualności i artykuły

Opublikowano: 26 marca 2015
Kategoria wpisu: administracjaporadniki

Funkcje wbudowane w SQL/400

Wielokrotnie podczas pracy z SQL’em na serwerze AS/400, czy to za pomocą interaktywnej sesji czy wbudowanych kwerend w kodzie RPG (tzw. embedded SQL), nie pamiętam nazwy czy składni niektórych funkcji wbudowanych. A specyfika SQL/400 różniąca się od standardu nie pomaga… Dlatego postanowiłem w jednym miejscu umieścić spis najważniejszych, czy też najczęściej wykorzystywanych. Mam nadzieję że się przyda. Mnie na pewno.

Podstawowe funkcje

MAXZwraca maksymalną wartość z wyniku zapytania
MINZwraca minimalną wartość z wyniku zapytania
AVGZwraca średnią z wartości wyników zapytania
SUMZwraca sumę wartości z wyniku zapytania
COUNTZwraca liczbę elementów wyniku zapytania

Funkcje numeryczne

ABS(N)Zwraca wartość bezwzględna zmiennej N
COS(A) / ACOS(A)
SIN(A) / ASIN(A)
TAN(A) / ATAN(A)
Podstawowe funkcje trygonometryczne
CEILING(N)
FLOOR(N)
Zwraca zaokrągloną w górę lub w dół wartość zmiennej N
DEGREES(R)Konwertuje wartość w radianach na stopnie
RADIANS(D)Konwertuje wartość w stopniach na radiany
LN(N)
LOG10(N)
Zwraca logarytm/ logarytm dziesiętny z podanej wartości

Funkcje znakowe i łańcuchowe

CHAR(N)Zwraca reprezentację znakową podanej liczby N
CHAR_LENGTH(S)Zwraca długość łańcucha znakowego
CONCAT(S1, S2)Łączy dwa podane ciągi znaków
SUBSTR(S, I, L)Zwraca łańcuch znaków z tekstu S, rozpoczynając od znaku I, długości L znaków
LOWER(S)Zwraca podany tekst w postaci małych liter
UPPER(S)Zwraca podany tekst w postaci wielkich liter
TRIM(S)Usuwa spacje zarówno z początku jak i z końca tekstu
RTRIM(S)
LTRIM(S)
Usuwa spacje z początku/końca tekstu

Funkcje związane z datą i czasem

CURDATE()
CURTIME()
Zwraca bieżącą datę/czas
DATE(D)
DATE(T)
Konwertuje łańcuch znakowy z datą/czasem do wartości daty/czasu
DAY(D)Zwraca dzień (1-31) z podanej daty
WEEK(D)Zwraca tydzień (1-54) z podanej daty
MONTH(D)Zwraca miesiąc (1-12) z podanej daty
YEAR(D)Zwraca rok z podanej daty
DAYOFWEEK(D)Zwraca numer dnia tygodnia z podanej daty gdzie 1 to niedziela
DAYOFWEEK_ISO(D) Zwraca numer dnia tygodnia z podanej daty gdzie 1 to poniedziałek
DAYOFYEAR(D)Zwraca numer dnia w roku (1-366) z podanej daty
HOUR(T)Zwraca godzinę (0-24) z podanego czasu
MINUTE(T)Zwraca minutę z podanego czasu
SECOND(T)Zwraca sekundę z podanego czasu
MICROSECOND(T)Zwraca mikrosekundę z podanego czasu
^