La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

CHARACTER FUNCTION CHARACTER FUNCTIONS CASE- MANIPULATION FUNCTIONSCHARACTER- MANIPULATION FUNCTIONS LOWER UPPER INITCAP CONCAT SUBSTR LENGTH INSTR LPAD.

Presentazioni simili


Presentazione sul tema: "CHARACTER FUNCTION CHARACTER FUNCTIONS CASE- MANIPULATION FUNCTIONSCHARACTER- MANIPULATION FUNCTIONS LOWER UPPER INITCAP CONCAT SUBSTR LENGTH INSTR LPAD."— Transcript della presentazione:

1 CHARACTER FUNCTION CHARACTER FUNCTIONS CASE- MANIPULATION FUNCTIONSCHARACTER- MANIPULATION FUNCTIONS LOWER UPPER INITCAP CONCAT SUBSTR LENGTH INSTR LPAD | RPAD TRIM REPLACE

2 OperatoreDescrizione LOWER(colonna/espressione)Converte caratteri maiuscoli o misti in caratteri minuscoli UPPER(colonna/espressione)Converte caratteri minuscoli o misti in caratteri maiuscoli INITCAP(colonna/espressione)Converte la prima lettera in maiuscola CHARACTER FUNCTION FunzioneRisultato LOWER(SQL Course)sql course UPPER(SQL Course)SQL COURSE INITCAP(SQL Course)Sql Course

3 SELECT Il lavoro di ||INITCAP(nome)|| ||UPPER(cognome)|| è ||mansione AS work FROM anagrafica; Risultato : Il lavoro di Paolo ROSSI è impiegato SELECT nome, cognome, indirizzo FROM anagrafica WHERE LOWER(cognome) = rossi; CHARACTER FUNCTION ESEMPI

4 OperatoreDescrizione CONCAT(colonna1/espressione1, colonna2/espressione2) Concatena il primo carattere con il secondo SUBSTR(colonna/espressione,m[,n])Restituisce la parte di stringa che va da m a n (n è il numero di caratteri della substring). Se m è negativo parte il conteggio dalla fine della stringa, se n è omesso restituisce tutti i caratteri fino alla fine della stringa. LENGTH(colonna/espressione)Restituisce il numero di caratteri in unespressione INSTR(colonna/espressione,string,[, m],[n]) Ritorna la posizione della stringa allinterno dellespressione. Opzionale : la posizone m da cui partire la ricerca o la n (lunghezza della substring dove cercare, da m a m+n ). CHARACTER FUNCTION

5 LPAD(colonna/espressione, n, string) Mette il carattere string a sinistra dellespressione quante volte serve per raggiungere n RPAD(colonna/espressione, n, string) Mette il carattere string a destra dellespressione quante volte serve per raggiungere n TRIMElimina un carattere da una stringa REPLACE(text,search_string,replace ment_sting) Sostituisce in un testo la stringa cercata, se cè, con la stringa da sostituire CHARACTER FUNCTION

6 FunzioneRisultato CONCAT(Hello,World)Hello World SUBSTR(HelloWorld,1,5)Hello LENGTH(HelloWorld)10 INSTR(HelloWorld,W)6 LPAD(nome,10,*)*****Paolo RPAD(nome,10,*)Paolo***** TRIM(H FROM HelloWorld)elloWorld REPLACE(HelloWorld,Hello,Ciao)CiaoWorld

7 NUMBER FUNCTION FunzioneRisultato ROUND(45.926, 2)45.93 TRUNC(45.926, 2)45.92 MOD(1600,300)100 FunzioneDescrizione ROUND(colonna/espressione, n)Arrotonda il valore con n decimali. Se n è omesso, non vengono messi decimali. Se n è negativo vengono arrotondati i numeri a sinistra TRUNC(colonna/espressione, n)Tronca il valore alla n posizione, se n è omesso, n = 0 SE N è negativo tronca di due decimali a sinistra MOD(m,n)Ritorna il resto di m diviso n

8 NUMBER FUNCTION SELECT ROUND(45.923,2) A, ROUND(45.923,0) B, ROUND(45.923,-1) C FROM dual; Risultato : A = 45.92, B = 46, C = 50 SELECT TRUNC(45.923,2) A, TRUNC(45.923,0) B, TRUNC(45.923,-2) C FROM dual; Risultato : A = 45.92, B = 45, C = 0

9 LAVORARE CON LE DATE SELECT SYSDATE FROM DUAL; Operazioni con le date: aggiungere e togliere numeri dalle o alle date restituendo una data sottrazione tra due date per trovare il numero di giorni tra una data e laltra aggiungere ore ad una data dividendo il numero per 24

10 OperazioneRisultato date + numerodate date – numerodate date - datenumero di giorni date + number/24date LAVORARE CON LE DATE SELECT (SYSDATE – hire_date)/7 AS WEEK FROM EMPLOYEES

11 FUNZIONI DATE FunzioneDescrizione MONTHS_BETWEEN (date1, date2)Numero di mesi tra due date (risultato positivo o negativo) ADD_MONTHS (date, n)Aggiunge n mesi alla data NEXT_DAY (date, char)Ritorna il prossimo giorno che sarà char. Char può essere numerico o una stringa LAST_DAY (date)Lultimo giorno del mese indicato da date ROUND (date[,fmt])Ritorna la data arrotondata nel formato specificato fmt. Se fmt è omesso, la data è arrotondata al giorno più vicino TRUNC(date [,fmt])Truncate date

12 FUNZIONI DATE FunzioneRisultato MONTHS_BETWEEN (01-Jan-95, 11-Jan- 94) ADD_MONTHS (11-Jan-94, 6)11-Jul-94 NEXT_DAY (01-Sep-95, Friday)01-Sep-95 LAST_DAY (01-Feb-95)28-Feb-95

13 FUNZIONI DATE Assumiamo SYSDATE = 25-Jul-95 FunzioneRisultato ROUND (SYSDATE, MONTH)01-AUG-95 ROUND (SYSDATE, YEAR)01-JAN-96 TRUNC (SYSDATE, MONTH)01-JUL-95 TRUNC (SYSDATE YEAR)01-JAN-95

14 CONVERSIONE DATA TYPE DAA VARCHA2 O CHARNUMBER VARCHA2 O CHARDATE NUMBERVARCHAR2 DATEVARCHAR2

15 CONVERSIONE DATA TYPE FUNZIONESCOPO TO_CHAR(number|date, [ fmt], [nlsparametro] Converte un numero o una data in un VARCHAR2 nel formato fmt. Conversione di numero: nlsparametro specifica il formato in cui dovrà apparire la stringa di caratteri che rappresenterà il numero decimal character group separator local currency symbol international currency symbol Se omesso usa il parametro di default Conversione di date: Il parametro nlsparametro indica come verranno rappresentati giorno e mese e le abbreviazioni. Se nullo usa il default

16 CONVERSIONE DATA TYPE FUNZIONESCOPO TO_NUMBER(char, [ fmt], [nlsparametro])Converte una stringa di caratteri contenente numeri in un numero nel formato indicato da fmt. Nlsparametro ha la stessa funzione come nel caso della TO_CHAR TO_DATE(char, [ fmt], [nlsparametro])Converte una stringa di caratteri che rappresenta una data nel formato fmt specificato. Se fmt è omesso, usa il formato DD-MON-YY Nlsparametro ha la stessa funzione come nel caso della TO_CHAR

17 CONVERSIONE DATA TYPE TO_CHAR(date, format_model) Format model: deve essere messo tra apici ed è case sensitive può includere tutti i formati validi per la data SELECT employee_id, TO_CHAR(hire_date, MM/YY) Month_Hired FROM employees WHERE last_name = Higgins; I formati data possibili sono: YYYY, YEAR, MM, MONTH, MON, DY, DAY, DD

18 CONVERSIONE DATA TYPE Il formato per lora è: HH24:MI:SS AM 15:45:32 PM E possibile scrivere stringhe come: DD of MONTH 12 of OCTOBER THNumero ordinale (esempio, DDTH per 4°) SPNumero (esempio, DDSP per QUATTRO) SPTH o THSPNumero ordinale (esempio DDSPTH per QUARTO)

19 CONVERSIONE DATA TYPE Esempio: SELECT last_name, TO_CHAR(hire_date, DD Month YYYY) AS HIREDATE FROM employees Restituisce record: King 17 June 1997 Ernst 21 May 1991 … ….

20 CONVERSIONE DATA TYPE TO_CHAR(number, format_model) Ci sono alcuni tipi di formato utilizzabile nella To_CHAR per visualizzare un numero in formato carattere VARCHAR2: FormatoDescrizioneEsempioRisultato 9Rappresenta un numero Rappresenta $Dollaro$999999$1234.Decimale ,Separatore di migliaia999,9991,234

21 CONVERSIONE DATA TYPE SELECT TO_CHAR(salary, $99,999.00) AS SALARY FROM employees Risultato query: $6, …

22 FUNZIONI ANNIDATE F3 ( F2 ( F1 (col1, arg1),arg2), arg3) Risultato annidamento: Primo step : F1 (col1, arg1) = A Secondo step : F2 (A,arg2) = B Terzo step : F3 (B, arg3) Le funzioni annidate vengono valutate dal livello più interno verso lesterno. ESEMPIO: SELECT TO_CHAR(NEXT_DAY(ADD_MONTHS (hire_date, 6), Friday), Day, Month DDth, YYYY) FROM employees;

23 FUNZIONI NVL (espr1, espr2) NVL2 (espr1, espr2, espr3) NULLIF (espr1, espr2) COALESCE (espr1, espr2,…,esprn) FunzioneDescrizione NVLConverte un valore null in una valore NVL2Se espr1 non è nulla, NVL2 restituisce espr2. Se espr1 è nulla, NVL2 restituisce espr3. Espr1 può essere di qualsiasi tipo. NULLIFCompara le due espressioni e restituisce nullo se sono uguali altrimenti restituisce espr1 COALESCERitorna la prima espressione non nulla nella lista di espr

24 NVL converte un valore nullo in un valore attuale i tipi di dato usati sono date, caratteri e numeri NVL (commission_pct, 0) NVL (hire_date, 01-JAN-97) NVL (job_id, No Job Jet)

25 NVL2 SELECT salary, commission_pct, NVL2(commission_pct, SAL+COMM, SAL) tot FROM employees WHERE department_id IN (50, 80) SALARYCOMMISSION_PCTTOT SAL+COMM SAL+COMM 5800SAL

26 NULLIF SELECT first_name, LENGTH(first_name) espr1, last_name, LENGTH(last_name) espr2, NULLIF(LENGTH(first_name), LENGTH(last_name)) result FROM employees; First_nameespr1Last_nameespr2Result Steven6King46 Neena5Kochhar75 Bruce5Ernst5

27 COALESCE la differenza da NVL è che permette di considerare più valori se la prima espressione è NON NULLA ritorna la prima espressione altrimenti se la seconda espressione è NON NULLA ritorna la seconda espressione…altrimenti ritorna lespressione n

28 COALESCE SELECT last_name, COALESCE(commission_pct,salary,10) commissione FROM employees; Se commission_pct è not null, viene visualizzato. Se commission_pct è null, viene visualizzato Salary. Se commission_pct e salary sono null, viene visualizzato il valore 10. Last_nameespr2 King24000 Kochhar17000 Grant0.15

29 CONDITIONAL EXPRESSIONS le espressioni condizionali permettono di usare IF-THEN-ELSE ci sono due metodi: CASE DECODE

30 CASE EXPRESSIONS CASE espr WHEN espr1_comparazione THEN espr1_ritorno [WHEN espr2_comparazione THEN espr2_ritorno WHEN esprn_comparazione THEN esprn_ritorno ELSE else_espr] END Oracle controlla il primo WHEN…THEN, se espr è uguale allespr1_comparazione restituisce espr1_ritorno. E così via fino allultima espressione di comparazione. Altrimenti restituisce else_espr. Non è possibile specificare NULL per le espr_ritorno o per else_espr. Tutte le espressioni devono essere dello stesso tipo di dati.

31 CASE EXPRESSIONS ESEMPIO: SELECT last_name, job_id, salary, CASE job_id WHEN IT_PROG THEN 1.10*salary WHEN ST_CLERCK THEN 1.15*salary WHEN SA_REP THEN 1.20*salary ELSE salary END salario FROM employees; … LAST_NAMEJOB_IDSALARYSALARIO LorentzIT_PROG RajsST_CLERCK

32 FUNZIONE DECODE DECODE (col/espr, ricerca1, risultato1 [, ricerca2, risultato2, … ] [default ]) Se col/espr è uguale a ricerca1 restituisce risultato1 ect. Se il DEFAULT viene omesso, verrà restituito il valore NULL se nessuna comparazione ritorna valore positivo.

33 FUNZIONE DECODE Esempio SELECT last_name, job_id, salary, DECODE (job_id, IT_PROG, 1.10*salary, ST_CLERCK, 1.15*salary, SA_REP, 1.20*salary, salary) SALARIO FROM employees; LAST_NAMEJOB_IDSALARYSALARIO LorentzIT_PROG RajsST_CLERCK


Scaricare ppt "CHARACTER FUNCTION CHARACTER FUNCTIONS CASE- MANIPULATION FUNCTIONSCHARACTER- MANIPULATION FUNCTIONS LOWER UPPER INITCAP CONCAT SUBSTR LENGTH INSTR LPAD."

Presentazioni simili


Annunci Google