Transformarea unui string (sau o coloana varchar) intr-o lista (similar TRANSPOSE)

In cazul in care avem nevoie ca dintr-un string (adica o insiruire de caractere pe orizontala) delimitat (de un caracter sau un string repetitiv) sa facem o lista (adica sa punem pe verticala parti din stringul anterior, similar functiei TRANSPOSE din excel), am facut o functie care are doi parametri:
– primul parametru este un string (care poate sa fie o coloana dintr-o tabela)
– al doilea un string delimitator

Functia parseaza primul parametru si il imparte sub forma de lista in functie de parametrul numarul doi.

Pentru exemplificare, daca intr-o coloana am ceva de genul:
Dumitru Bogdan;Costache Cristian;Vasilescu Ionel;Mihaescu Georgel
atunci functia, apelata cu primul parametru ca fiind coloana respectiva si cu al doilea parametru ca fiind ‘;’ va returna lista de mai jos:

Id Data
1 Dumitru Bogdan
2 Costache Cristian
3 Vasilescu Ionel
4 Mihaescu Georgel

[mai mult...]

Formatare IBAN in grupuri de x caractere cu delimitator variabil

Am creat o functie care parseaza un string de caractere si il formateaza impartindu-l in grupuri de x caractere, iar aceste grupuri sunt delimitate de un string la alegere.

Este foarte folositoare la formatarea de IBAN-uri, pt ca diferite rapoarte cer formatarea IBAN-urilor in diferite feluri, si pentru a nu sta de fiecare data sa facem update in tabele fizice sau temporare, putem sa folosim functia de mai jos.

[mai mult...]

Transformarea unui text neuniform in text uniform scris

Intalnim deseori ca intr-o tabela sa gasim text, in special in campurile in care este permisa scrierea la liber, care este scris neuniform, in sensul ca ori incepe cu prima litera mica si continua cu restul mari (a fost apasat Caps-ul gresit), ori are litere mari pe la mijloc, tot din apasarea gresit a caps-ului, etc

 

Pentru a formata un astfel de text, am creat functia de mai jos:

 

[mai mult...]

Calculare varsta la data aleasa in functie de CNP

Avem nevoie uneori, in rapoarte, de varsta clientului la data curenta sau la o anumita data.

Si aici sunt doua situatii: avem nevoie de varsta in ani impliniti sau de varsta exacta, adica ani si zile.

Ca atare am facut o functie ca are trei parametri:

primul este cnp-ul

al doilea este data la care va fi calculata varsta

al treilea este un flag care specifica tipul calcului: pt 0 se calculeaza anii impliniti iar pt 1 se calculeaza varsta exacta in ani si zile.

[mai mult...]

Extragere data nastere din CNP

Ne lovim deseori de situatia de a avea un raport cu data de nastere a clientilor dar sa nu avem o coloana cu aceasta data, ci doar o coloana cu cnp. Ca atare suntem nevoiti sa extragem data de nastere din cnp.

Pt a usura rezolvarea problemei am scris o functie care face acest lucru.

[mai mult...]

Afisarea datei fara ore, minute si secunde

Se intampla deseori sa avem nevoie sa afisam data fara minute si secunde, sau mai important, sa facem join intre doua coloane de tip datetime, care au minute si secunde (adica sunt de forma 2017-12-06 11:49:48.377 ) si noi dorim ca joinul sa se faca pe data, fara a tine cont de minute si secunde.

Ca atare trebuie sa reusim sa scoatem minutele si secundele pt ca data sa fie afisata si interpretata asa 2017-12-06  sau asa 2017-12-06 00:00:00.000.

 

[mai mult...]