1 / 33

CHARACTER FUNCTION

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

onan
Download Presentation

CHARACTER FUNCTION

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. CHARACTER FUNCTION

  3. CHARACTER FUNCTION ESEMPI 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’;

  4. CHARACTER FUNCTION

  5. CHARACTER FUNCTION

  6. CHARACTER FUNCTION

  7. NUMBER FUNCTION

  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 l’altra • aggiungere ore ad una data dividendo il numero per 24

  10. LAVORARE CON LE DATE SELECT (SYSDATE – hire_date)/7 AS WEEK FROM EMPLOYEES

  11. FUNZIONI DATE

  12. FUNZIONI DATE

  13. FUNZIONI DATE Assumiamo SYSDATE = ’25-Jul-95’

  14. CONVERSIONE DATA TYPE

  15. CONVERSIONE DATA TYPE

  16. CONVERSIONE DATA TYPE

  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 l’ora è: HH24:MI:SS AM 15:45:32 PM E’ possibile scrivere stringhe come: DD “of” MONTH 12 of OCTOBER

  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:

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

  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 l’esterno. 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)

  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)

  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;

  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 l’espressione 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.

  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 all’espr1_comparazione restituisce espr1_ritorno. E così via fino all’ultima 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; …

  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;

More Related