h1

Functii scalare, data calendaristica

November 3, 2009

Obs. Functiile scalare (sunt functiile definite de utilizator cele cu create function):

http://www.scribd.com/doc/26261717/Functii-Definite-de-Utilizator-in-SQL-Server

Conversia in litere mari ale inregistrarilor campului nume_banca din tabela BANCA

FUNCTIA UPPER:

upper

Efect:

efectt

Functia UPPER se foloseste si pt.campuri multiple:

upper1

Efect:

upper2

SELECT UCASE(nume_banca) as nume_banca,nume_beneficiar
FROM BANCA

Msg 195, Level 15, State 10, Line 1
‘UCASE’ is not a recognized built-in function name.
—  Asta inseamna ca functia  UCASE nu exista in SQL SERVER!

Pentru conversie in litere mici se va folosi LOWER similar ca in exemplul de mai sus.

FUNCTIA LEN:

len

Efect:

len2



create_table

Inseram inregistrari in tabela Pers folosind comanda SQL INSERT INTO:

Vom folosi acum comanda INSERT INTO pt.a  insera inregistrari in tabela Pers:

Avem 2 metode de inserare a inregistrarilor intr-o tabela:

Metoda 1:

INSERT INTO Pers (P_Id,Nume,Prenume,Adresa,Oras) VALUES (1, ‘Pop’, ‘Virgil’, ‘Str.Florilor’, ‘Ploiesti’);
INSERT INTO Pers (P_Id,Nume,Prenume,Adresa,Oras) VALUES (2, ‘Pop’, ‘Mihai’ , ‘Str.Iaz’     , ‘Campina’ );
INSERT INTO Pers (P_Id,Nume,Prenume,Adresa,Oras) VALUES (3, ‘Pop’, ‘Ion’   , ‘Str.Lacului’ , ‘Oradea’  );

Metoda 2:


INSERT INTO Pers (P_Id,Nume,Prenume,Adresa,Oras)
SELECT 1, 'Pop', 'Virgil', 'Str.Florilor', 'Ploiesti' union ALL
SELECT 2, 'Pop', 'Mihai' , 'Str.Iaz'     , 'Campina'  union ALL
SELECT 3, 'Pop', 'Ion'   , 'Str.Lacului' , 'Oradea';

Efectul va fi acelasi:

insertinto

Ca sa stergem toate inregistrarile dintr-o tabela fara a afecta tabela in sine:
TRUNCATE TABLE Pers — va sterge automat toate inregistrarile fara a sterge –insa tabela creata PERS

Daca in campul P_Id aveam valori cu zecimale 12.02 pt a rotunji la 0 zecimale toate inregistrarile din campul P_Id folosim functia ROUND din SQL SERVER (MSSQL):

round

FUNCTIA GETDATE() – intoarce data si ora curenta a sistemului:

getdate

3) Functiile GETDATE(),GETUTCDATE,CURRENT_TIMESTAMP

Alternativa la functiile getdate,getutcdate,si current_timestamp:

4) Functii care preiau date si timp

a) Functia DATENAME

Exemplul2:

b) Functia DATEPART

Exemplul1:

Exemplul2:

c) Functiile DAY, MONTH si YEAR

d) Functiile DATEDIFF si DATEADD

Exemplul1: cu tabela creata



Exemplul2: cu variabile declarate

Pentru mai multe detalii despre datediff:

http://msdn.microsoft.com/en-us/library/ms189794.aspx

Exemple functia DATEADD:

Exemplul1:

Exemplul2:

Exemplul3: cu variabile

Pentru mai multe detalii despre functia dateadd:

http://msdn.microsoft.com/en-us/library/ms186819.aspx

Mai am si ex cu variabile de la dateadd de lamurit!

e) Functia ISDATE de verificare daca este data

Exemplul1:

Exemplul2: (cele 2 printscreen-uri)

Utilizare procedura sp_helplanguage afiseaza informatii despre help-ul oferit de mssql:

sp_helplanguage French

Detalii aici:

http://msdn.microsoft.com/en-us/library/ms187357.aspx

@@@@LANGUAGE – functie sistem ce intoarce limba folosita curent de mssql

Alte functii interesante:

@@DATEFIRST:

http://msdn.microsoft.com/en-us/library/ms187766.aspx

SET DATEFIRST:

http://msdn.microsoft.com/en-us/library/ms181598.aspx

SET DATEFORMAT:

http://msdn.microsoft.com/en-us/library/ms189491.aspx

SET LANGUAGE:

http://msdn.microsoft.com/en-us/library/ms174398.aspx

SELECT @@LANGUAGE AS ‘Language Name’;

Exemple:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: