160 likes | 311 Views
SINGLE ROW FUNCTIONS Single-row functions can be used in the SELECT, WHERE, and ORDER BY clauses. 1. CASE-MANIPULATION FUNCTIONS 2. CHARACTER MANIPULATION. CASE-MANIPULATION FUNCTIONS. UPPER(string) - convertește caracterele alfanumerice din șir în litere mici
E N D
SINGLE ROW FUNCTIONSSingle-row functions can be used in the SELECT, WHERE, and ORDER BY clauses. 1. CASE-MANIPULATION FUNCTIONS 2.CHARACTER MANIPULATION
CASE-MANIPULATION FUNCTIONS • UPPER(string)- convertește caracterele alfanumerice din șir în litere mici • LOWER(string) - convertește caracterele alfanumerice din șir în litere mari • INITCAP(string)- convertește la majusculă prima literă din fiecare cuvânt al șirului
LOWER, UPPER, INITCAP SELECT UPPER('aBcD'), LOWER('aBcD'), INITCAP('aBcD') FROM DUAL SELECT UPPER('aBcD'), LOWER('aBcD'), INITCAP('aBcD') FROM DUAL => ABCD SELECT UPPER('aBcD'), LOWER('aBcD'), INITCAP('aBcD') FROM DUAL => ABCD abcd SELECT UPPER('aBcD'), LOWER('aBcD'), INITCAP('aBcD') FROM DUAL => ABCD abcd Abcd
2.CHARACTER MANIPULATIONConcatenation • str1 || str2 • CONCAT(str1,str2)- concatenează două șiruri de caractere • Pentru a concatena mai multe șiruri: • Str1 || str2 || str4 • CONCAT(str1,CONCAT(str2,str3))
SUBSTR SUBSTR(șir, poz,nr) – extrage din șir cel mult nr caractere începând din poziția poz • dacă nr nu este specificat, se va returna subșirul începând cu caracterul de pe poziția poz din șir până la sfârșitul șirului SELECT SUBSTR('abcdefghi',5,2) FROM DUAL • ef SELECT SUBSTR('abcdefghi',5) FROM DUAL • efghi
INSTR INSTR(șir,subșir,poz,k)- returnează poziția de început a celei de a k a apariții a subșirului subșir în șirul șir, căutarea făcându-se începând cu poziția poz • Dacă parametrii poz și k lipsesc, atunci se va returna poziția primei apariții a subșirului subșir în întregul șir șir
INSTR exemple SELECT INSTR('xyzabcxabcxabcxyz','abc') from dual • 4 SELECT INSTR('xyzabcxabcxabcxyz','abc',6) from dual • 8 SELECT INSTR('xyzabcxabcxabcxyz','abc',1,2) from dual • 8 SELECT INSTR('xyzabcxabcxabcxyz','abc',5,2) from dual • 12
SUBSTR, INSTR Together SELECT Author, SUBSTR(Author, INSTR(Author,',')+2 ) || ' ' || SUBSTR(Author,1, INSTR(Author,',')-1 ) FROM Magazine Results: Eminescu, MihaiMihaiEminescu Creanga, IonIonCreanga Cosbuc, GeorgeGeorgeCosbuc
LENGTH(șir)- returnează numărul de caractere din șirul șir SELECT LENGTH('abc') FROM DUAL => 3
RPAD, LPAD • LPAD(șir1,nr,șir2)- completează șirul șir1 la stânga cu caracterele din șirul șir2 până ce șirul obținut va avea lungimea nr. • RPAD(șir1,nr,șir2)- similar, completarea făcându-se la dreapta
RPAD, LPAD Exemple SELECT RPAD('ab',10,'<>') FROM DUAL => ab<><><><> SELECT LPAD('xyz',15,'*') FROM DUAL • ************xyz
RPAD, LPAD Examples SELECT LPAD(RPAD('abc',8,'='),13,'=') FROM DUAL => =====abc===== SELECT LPAD(RPAD('abc',8,'='),13,'=') FROM DUAL => =====abc===== SELECT LPAD(RPAD('abc',8,'='),13,'=') FROM DUAL => =====abc=====
TRIM • trim ( [leading|trailing|both [‘ch'] FROM] s1) • Șterge caracterele ch de la începutul, sfârșitul sau din ambele părți ale șirului s1 • Opțiunea both este implicită • Dacă ch nu este specificat se vor elimina spațiile inutile de la începutul, sfârșitul sau ambele părți ale șirului s1.
TRIM Examples SELECT TRIM(leading 'ab' from 'ababbabbabab') FROM DUAL => babababab
TRIM Examples SELECT TRIM(trailing 'ab' from 'ababbabbabab') FROM DUAL => ababbabb
TRIM Examples SELECT TRIM('ab' from 'ababbabbabab') FROM DUAL => babb