Post on 01-Jan-2016
description
Functii SQL uzuale
Functia CONVERT coverteste rezultatul unei expresii intr-un anumit timp de date
Sintaxa:
CONVERT (tip_date_rezultat [(lungime)], expresie [, stil_coversie])
tip_date_rezultat – tipul de date in care se converteste expresie
lungime – lungimea tipului de date, doar pentru tipurile de date care suporta
expresie – orice expresie admisibila SQL, al carei rezultat se va converti in tip_date_rezultat
stil_conversie – cod folosit atunci cand se doreste utilizarea unor modele de conversie SQL;
Cod Format data/ora rezultat
101 mm/dd/yyyy
103 dd/mm/yyyy
108 hh:mi:sec
113 dd mon yyyy hh:mi:ss:mmm
Cateva coduri uzuale pentru stil_conversie pentru conversia in/din data/ora:
Functia CONVERT (exemple)
Nota: In acest caz codul 103 indica in ce
mod este specificata data in sirul de
caractere (dd/mm/yyyy) pentru a fi
corect convertita in formatul datei
serverului !
Daca se doreste afisarea in formatul
dd/mm/yyyy, o data calendaristica
trebuie convertita in sir de caractere, cu
cod 103, asa cum este in primul
exemplu, altfel se afiseaza in formatul
serverului.
Functia CONVERT (exemple)
Functia CONVERT (exemple – formate diferite pentru data aparitiei unei carti)
Functia CONVERT (exemple – formate diferite pentru pretul de vanzare)
Functia GETDATE()
returneaza data si ora serverului
Exemplu: data si ora serverului
Exemplu: data serverului
Exemplu: ora serverului
Functia NEWID() returneaza o valoare de tip UNIQUEIDENTIFIER
Functiile DAY, MONTH, YEAR
DAY (expresie)
MONTH(expresie)
YEAR(expresie)
Sintaxa:
Functia DATEPART
DATEPART (informatie_calendaristica, expresie_data/ora)
Extrage dintr-o data calendaristica/ora o anumita informatie calendaristica,
identificata printr-un cod
Sintaxa:
Cod informatie_calendaristica (cateva valori uzuale)
Rezultat
year An
month Luna
day Zi
dayofyear Numar zi din an
quarter Trimestru
week Numar saptamana din an
hour Ora
minute Minutele
second Secundele
Functia DATEPART (exemple)
Functia DATEPART (exemple)
Functia DATEDIFF
DATEDIFF (informatie_calendaristica, data/ora start, data/ora final)
Calculeaza diferenta dintre doua date calendaristice (data/ora final si data/ora start). Rezultatul
este furnizat intr-un anumit tip de informatie calendaristica, identificata printr-un cod
Sintaxa:
Functia DATEDIFF (exemple – timp trecut de la emiterea facturilor, exprimări diverse)
Functia DATEADD
DATEADD (informatie_calendaristica, n, data/ora start)
Calculeaza o data calendaristica, pornind de la o anumita data (data/ora final ) la care
se adauga un n (in format informatie calendaristica)
Sintaxa:
Functia DATEADD (exemple – calculul unor date viitoare în raport cu DataFactura)
Functiile LTRIM, RTRIM LTRIM(expresie) – elimina spatiile nesemnificative de la
stanga unei expresii de tip sir de caractere
RTRIM(expresie) – elimina spatiile nesemnificative de la
dreapta unei expresii de tip sir de caractere
Functiile LEN, LOWER, UPPER LEN(expresie) – returneaza numarul de caractere dintr-o expresie LOWER(expresie) – returneaza sirul de caractere din expresie scris cu litere mici UPPER (expresie) – returneaza sirul de caractere din expresie scris cu litere mari
Functiile LEFT, RIGHT, SUBSTRING LEFT(expresie, n) – returneaza n caractere de la stanga unei expresii sir de caractere RIGHT(expresie, n) – returneaza n caractere de la dreapta unei expresii sir de caractere SUBSTRING (expresie, start, n) – returneaza n caractere dintr-o expresie sir de caractere, incepand de la pozitia start
Functia CASE
CASE expresieA WHEN expresieB1 THEN expresie_Rezultat [WHEN expresieB2 THEN expresie_Rezultat] … [ELSE expresie_Rezultat_F] END
Sintaxa varianta 1:
CASE WHEN expresie_logica1 THEN expresie_Rezultat [WHEN expresie_logica2] THEN expresie_Rezultat … [ELSE expresie_Rezultat_F] END
Sintaxa varianta 2:
Functia CASE (exemplu varianta 1 – acordarea unui discount în funcție de luna de facturare)
Functia CASE (exemplu varianta 2 – acordarea unui discount în funcție de valoarea vândută dintr-o carte)
CASE WHEN CantitateVanduta * PretVanzare < 50 THEN 0.1 *
CantitateVanduta * PretVanzare WHEN CantitateVanduta *
PretVanzare < 100 THEN 0.15 * CantitateVanduta * PretVanzare
WHEN CantitateVanduta * PretVanzare < 1000 THEN 0.2 *
CantitateVanduta * PretVanzare ELSE 0.05 * CantitateVanduta *
PretVanzare END