CHARACTER FUNCTION CHARACTER FUNCTIONS CASE- MANIPULATION FUNCTIONS

Slides:



Advertisements
Presentazioni simili
TIPI STANDARD DI SQL BOOLEAN Valori: vero, falso CHAR(n)
Advertisements

Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili dambiente si usa il comando set.
LINGUAGGIO DI PROGRAMMAZIONE C
Funzioni in SQL.
Informatica 22/03/2012.
SQL applicato a SQL Server
Selezione - approfondimento
PROGRAMMARE IN PASCAL (le basi)
Lez. 7 (10/11) - PBElementi di Programmazione1 Lezione 7 Matrici di Celle Tipi String e Date.
EP 10/11 - PBLezione 2-21 Elementi di Programmazione Tipi di Dati Conversioni Istruzioni di controllo del flusso.
EP 11/12 - PBLezione 31 Elementi di Programmazione Tipi di Dati e Conversioni Istruzioni di controllo del flusso.
Lez. 7 (11/12) - PBElementi di Programmazione1 Lezione 7 Tipi String e Date.
Generazione di Codice Intermedio
Laboratorio Matematica e Informatica
SQL Structured Query Language
Algoritmi Politecnico di Milano C Primi programmi Politecnico di Milano.
Corso di Informatica (Basi di Dati)
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
Esercizio 4 Data una stringa P di lunghezza m e definita sullalfabeto, scrivere un programma PERL per calcolare la seguente funzione: PREFIX_FUNCTION:
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Le stringhe di caratteri in Java Anno Accademico 2009/2010.
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
Basi di Dati II Sara Romano
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
I fogli elettronici Microsoft Excel. I Fogli Elettronici Sono strumenti per organizzare gestire, analizzare e presentare insiemi di dati. Le funzionalità
9) If e else. Lab.Calc.I AA2002/03 - cap.92 espressione.
A.A. 2010/2011Ambienti di Programmazione per il Software di Base1 (Es. – 6) Ambienti di Programmazione per il Software di Base Le Stringhe in C Input.
Politecnico di Milano Esercizi Stringhe Ricerca binaria.
Dichiarazioni e tipi predefiniti nel linguaggio C
OPERAZIONI CON STRINGHE Le operazioni più interessanti da fare, per ora, con le stringhe sono: determinare la lunghezza della stringa, cioè quanti caratteri.
I File.
Equivalenza di espressioni
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
FUNZIONI DI GRUPPO Le funzioni di gruppo operano su un set di record restituendo un risultato per il gruppo. AVG ([DISTINCT|ALL] n) media, ignora i valori.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
EXCEL FORMATTAZIONE DATI.
Programmazione in Java Claudia Raibulet
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
4 Tipi di dati & variabili
QUIZ – PATENTE EUROPEA – ESAME WORD
Laboratorio di Informatica1 Parte 4 Laboratorio di Informatica Dott.ssa Elisa Tiezzi Dott.ssa Elisa Mori.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e stringhe Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
SUBQUERY Chi ha un salario maggiore di quello di Abel? Occorre scomporre la query in due sotto problemi: MAIN : quali impiegati hanno un salario maggiore.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Classi terze Clicca dove vuoi Per conoscere la risposta Clicca dove vuoi Per conoscere la risposta disegnato da Sara e Federica Francesca ha chiesto.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Funzioni per il trattamento delle stringhe
1 Javascript e la gestione del testo Le stringhe di caratteri –Ogni oggetto di tipo stringa ha la proprietà length che indica la lunghezza della stringa.
SEFOC – SETTORE FORMAZIONE CONTINUA DEL PERSONALE CORSO MYSQL AVANZATO ROBERTO PENNOLINO – CARMELO MASSIMO PRIOLO PALERMO – 07 | 06 | 2011.
Date, Calendar, GregorianCalendar, SimpleDateFormat
CORSO DI PROGRAMMAZIONE II Lezione 22
FUNZIONI Dichiarazione: Definizione:
Introduzione a Javascript
Raggruppamento in SQL Esempio di raggruppamento
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
MySQL Database Management System
UNITÀ LESSICALI Simboli, identificatori, costanti, commenti Simboli: Identificatori: lettere, numeri, $, _, #
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
Stringhe In linguaggio C. Stringhe  Un insieme di caratteri in sequenza forma una stringa.  Alcuni linguaggi definiscono per le stringhe uno specifico.
UNITÀ LESSICALI Simboli, identificatori, costanti, commenti Simboli: Identificatori: lettere, numeri, $, _, #
Approfondimenti SQL.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Transcript della presentazione:

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

CHARACTER FUNCTION Operatore Descrizione 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 Funzione Risultato LOWER(‘SQL Course’) sql course UPPER(‘SQL Course’) SQL COURSE INITCAP(‘SQL Course’) Sql Course

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’;

CHARACTER FUNCTION Operatore Descrizione 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 un’espressione INSTR(colonna/espressione,’string’,[,m],[n]) Ritorna la posizione della stringa all’interno dell’espressione. Opzionale : la posizone m da cui partire la ricerca o la n (lunghezza della substring dove cercare, da m a m+n ).

CHARACTER FUNCTION LPAD(colonna/espressione, n, ‘string’) Mette il carattere ‘string’ a sinistra dell’espressione quante volte serve per raggiungere n RPAD(colonna/espressione, n, ‘string’) Mette il carattere ‘string’ a destra dell’espressione quante volte serve per raggiungere n TRIM Elimina un carattere da una stringa REPLACE(text,search_string,replacement_sting) Sostituisce in un testo la stringa cercata, se c’è, con la stringa da sostituire

CHARACTER FUNCTION Funzione Risultato CONCAT(‘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

NUMBER FUNCTION Funzione Descrizione 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 ROUND Funzione Risultato ROUND(45.926, 2) 45.93 TRUNC(45.926, 2) 45.92 MOD(1600,300) 100

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 Risultato : A = 45.92 , B = 45, C = 0

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

SELECT (SYSDATE – hire_date)/7 AS WEEK LAVORARE CON LE DATE Operazione Risultato date + numero date date – numero date - date numero di giorni date + number/24 SELECT (SYSDATE – hire_date)/7 AS WEEK FROM EMPLOYEES

FUNZIONI DATE Funzione Descrizione 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) L’ultimo 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

FUNZIONI DATE Funzione Risultato MONTHS_BETWEEN (’01-Jan-95’, ’11-Jan-94’) 19.677 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’

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

CONVERSIONE DATA TYPE DA A VARCHA2 O CHAR NUMBER DATE VARCHAR2

CONVERSIONE DATA TYPE FUNZIONE SCOPO 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

CONVERSIONE DATA TYPE FUNZIONE SCOPO 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

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

CONVERSIONE DATA TYPE TH Numero ordinale (esempio, DDTH per 4°) SP Il formato per l’ora è: HH24:MI:SS AM 15:45:32 PM E’ possibile scrivere stringhe come: DD “of” MONTH 12 of OCTOBER TH Numero ordinale (esempio, DDTH per 4°) SP Numero (esempio, DDSP per QUATTRO) SPTH o THSP Numero ordinale (esempio DDSPTH per QUARTO)

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 … ….

TO_CHAR(number, ‘format_model’) 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: Formato Descrizione Esempio Risultato 9 Rappresenta un numero 999999 1234 Rappresenta 0 099999 001234 $ Dollaro $999999 $1234 . Decimale 999999.99 1234.00 , Separatore di migliaia 999,999 1,234

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

F3 ( F2 ( F1 (col1, arg1),arg2), arg3) 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;

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

converte un valore nullo in un valore attuale 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’) Utile soprattutto nei calcoli quando in campi numerici può esserci il campo null.

SELECT salary, commission_pct, NVL2 SELECT salary, commission_pct, NVL2(commission_pct, ‘SAL+COMM’, ‘SAL’) tot FROM employees WHERE department_id IN (50, 80) SALARY COMMISSION_PCT TOT 10500 0.2 SAL+COMM 11000 0.3 5800 SAL

NULLIF FROM employees; SELECT first_name, LENGTH(first_name) “espr1”, last_name, LENGTH(last_name) “espr2”, NULLIF(LENGTH(first_name), LENGTH(last_name)) result FROM employees; First_name espr1 Last_name espr2 Result Steven 6 King 4 Neena 5 Kochhar 7 Bruce Ernst

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

COALESCE FROM employees; 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_name espr2 King 24000 Kochhar 17000 Grant 0.15

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

CASE espr WHEN espr1_comparazione THEN espr1_ritorno 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.

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_NAME JOB_ID SALARY SALARIO Lorentz IT_PROG 4200 4260 Rajs ST_CLERCK 3500 4025

DECODE (col/espr, ricerca1, risultato1 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.

DECODE (job_id, ‘IT_PROG’, 1.10*salary, 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_NAME JOB_ID SALARY SALARIO Lorentz IT_PROG 4200 4260 Rajs ST_CLERCK 3500 4025