La campana.

Ci sono quelli che hanno letto questa notizia prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
Cognome
Come vuoi leggere la campana
Senza spam.

Funzione to_char con i numeri

Funzioni di conversione dei dati su altri tipi di dati. To_char (numero) converte un numero nel testo. To_number Converte il testo sul numero.

Selezionare To_CHAR (123) da Dual restituire la riga 123, selezionare TO_NUMBER (`12345") da Dual restituire il numero 12345.

Lavoro di laboratorio. Modifica del formato dei numeri di output

Modifiche nel formato dei valori numerici in Oracle SQL, la funzione to_char per funzionare con valori numerici.

L'obiettivo:

Scrivi una richiesta che mostrerebbe informazioni sul nome, il cognome e il salario dei dipendenti dalla tabella HR.Employees nel formato mostrato in FIG. 3.4-1:

Fico. 3.4. -1

Allo stesso tempo, i dati devono essere ordinati in modo tale che le righe per dipendenti con il più grande stipendio vengano visualizzate.

Nota:

Alcuni salari in fig. 3.4-1 sono stati cambiati, quindi potrebbero non coincidere con i tuoi valori.

Decisione:

Seleziona First_Name come "Nome", Last_Name come "cognome", to_char (stipendio "," L9999999999.99 ") come" insalata "da hr.employees ordinare per salary desc.

Funzioni per_number e to_date

Funzione di conversione della riga alla data T_Date (stringa, formato). I possibili formati sono già considerati sopra, quindi fornirò alcuni esempi di utilizzare questa funzione. Esempi:

SELEZIONARE To_date (01.01.2010, `dd.mm.yyyy) A partire dal. Dual restituirà la data `01.01.2010";

SELEZIONARE To_date (01.jan.2010, `dd.mon.yyyy) A partire dal. Dual restituirà la data `01.01.2009";

SELEZIONARE To_date ("15-01-10", `dd-mm-yy") A partire dal. Dual restituirà la data '01/15/2010. "

Funzione di conversione della riga al valore numerico a_number (stringa, formato). I formati più comuni sono elencati nella tabella, quindi considera l'uso di questa funzione sugli esempi. Esempi:

SELEZIONARE To_number (`100") A partire dal. Dual restituirà il numero 100 Selezionare TO_Number (`0010.01," 9999D99) A partire dal. Dual restituirà il numero 10.01;

SELEZIONARE To_number ("500.000", "999G999") A partire dal. Dual restituirà il numero 500000.

Elemento RR in formato date

L'elemento del formato della data e dell'ora RR è simile all'elemento di formato YY e TIME, ma fornisce ulteriore flessibilità per memorizzare i valori della data e in altri secoli. Un elemento delle date RR e del formato del tempo ti permette di memorizzare le date del 20 ° secolo nel 21 ° secolo, indicando solo le due ultime cifre dell'anno.

Se le due ultime figure dell'anno attuale sono 00 a 49, l'anno di ritorno ha le stesse prime due cifre come nell'anno in corso.

Se le due ultime figure dell'anno corrente da 50 a 99, le prime 2 cifre dell'anno restituito sono 1 in più rispetto alle prime 2 cifre dell'anno corrente.

Se le due ultime figure dell'anno attuale sono 00 a 49, le prime 2 cifre dell'anno restituito sono 1 meno delle prime 2 cifre dell'anno corrente.

Se le due ultime figure dell'anno attuale da 50 a 99, l'anno restituito ha le stesse prime due cifre come nell'anno in corso.

Caratteristica NVL

La funzione NVL è solitamente applicata più spesso. La funzione riceve due parametri: NVL (EXPR1, Exerg2). Se il primo parametro EXPR1 non è uguale a NULL, la funzione restituisce il suo valore. Se il primo parametro NULL, la funzione restituisce il valore del secondo parametro dell'Exerg2.

Esempio: selezionare NVL (fornitore_CITY, N / A ") dai fornitori:

L'istruzione SQL restituirà N / "se il campo Forniture_City contiene un valore zero. Altrimenti, restituirà il valore fornitore_city.

Un altro esempio di utilizzo della funzione NVL in Oracle / PLSQL è:

selezionare fornitore_ID, NVL (fornitore_Desc, fornitore_name) dai fornitori.

Questa applicazione SQL tornerà nome del fornitore. Campo, if. fornitore_desc. contiene valore zero. Altrimenti tornerà fornitore_desc..

Ultimo esempio: Uso della funzione NVL in Oracle / PLSQL è: selezionare NVL (Commissione, 0) dalle vendite;

Questa dichiarazione SQL è tornata a 0 se commissione Il campo contiene valore zero. Altrimenti, sarebbe possibile tornare commissione campo.

Conversione NVL per diversi tipi di dati

Per convertire un valore indefinito nella funzione effettiva, viene utilizzata la funzione NVL: Nvl ( espressione1, espressione 2), dove:

espressione1- Fonte o valore calcolato che può essere incerto.

espressione2. - Un valore che viene sostituito al posto di un valore indefinito.

Nota: La funzione NVL può essere utilizzata per convertire qualsiasi tipo di dati, ma il risultato sarà sempre lo stesso tipo di espressione1.

Trasformazione NVL per tipi diversi:

Numero - NVL. (colonna numerica, 9).

Char o Varchar2 - NVL (Simboli | Colonna, "Non disponibile").

Lavoro di laboratorio. Applicazione della funzione NVL

La funzione NVL funziona con valori incerti in Oracle SQL.

L'obiettivo:

Scrivi una richiesta che mostra informazioni sul nome e il cognome del personale dalla tabella HR.Employeers., Così come l'offerta della Commissione (Colonna commissioni_pct) per il dipendente. Allo stesso tempo, per tali dipendenti per i quali la Commissione non è definita, è necessario visualizzare un valore di 0. il risultato della query deve essere presentato in FIG. 3.5-1.

Fico. 3.5. -1 (I valori iniziano dalla linea 51)

Decisione:

Il codice della richiesta corrispondente potrebbe essere:

Seleziona First_Name come "Nome", Last_Name come "cognome", NVL (commismi_pct, 0) come "tasso della commissione" da hr.employeees.

Caratteristica NVL

La funzione NVL è solitamente applicata più spesso. La funzione riceve due parametri: NVL (EXPR1, EXPR2). Se il primo parametro EXPR1 non è uguale a NULL, la funzione restituisce il suo valore. Se il primo parametro NULL, la funzione restituisce il valore del secondo parametro EXPR2.

Tenere conto esempio pratico. Il campo Comm nella tabella EMP può contenere valori nullo. Quando si esegue una query del modulo:

Seleziona Empno, ENAME, Comm, NVL (Comm, 0) NVL_COMM

Da scott.emp.

valore nullo sarà sostituito da zero. Si prega di notare che nel caso della formazione del valore con l'aiuto della funzione, è assegnato a uno pseudonimo. I risultati della richiesta saranno:

Empno. Ename. Comm. Nvl_comm.
7369 fabbro 0
7499 Allen. 300 300
7521 Reparto 500 500
7566 Jones. 0
7654 Martin. 1400 1400
7698 Blake. 0
7782 Clark. 0
7839 Re. 0
7844 Turner 0 0
7900 James. 0
7902 Guado 0
7934 Mugnaio. 0

Ceil (n)

La funzione del ceil restituisce il più piccolo numero intero, maggiore o uguale al numero di N. Per esempio:

Seleziona ceil (100) x1, ceil (-100) x2, ceil (100.2) x3, ceil (-100.2) x4

Da dual.

Funzione TRUNC (n [, m])

La funzione TRUNC restituisce il numero n troncato a M segni dopo il punto decimale. Il parametro M potrebbe non essere indicato - in questo caso, n troncato nel tutto.

Seleziona trunc (100.25678) x1, trunc (-100.25678) x2, trunc (100.99) x3,

Trunc (100.25678, 2) x4

Da dual.

Funzione firma (n)

Funzione del segno determina il numero di numeri. Se N è positivo, quindi la funzione restituisce 1. Se il negativo viene restituito -1. Se lo zero è zero, allora 0 viene restituito. Per esempio:

Seleziona segno (100.22) x1, segno (-100.22) x2, segno (0) x3

Da dual.

Una caratteristica interessante di questa funzione è la possibilità di trasmettere m uguale a zero - non sorge gli errori di divisione per 0.

POWER (N, M) Funzione

La funzione di alimentazione costruisce il numero n al grado m. Il grado può essere frazionario e negativo, che espande in modo significativo le capacità di questa funzione.

Seleziona Power (10, 2) X1, Potenza (100, 1/2) X2,

Potenza (1000, 1/3) X3, Power (1000, -1/3) X4

Da dual.

X1. X2. X3. X4.
100 10 10 0,1

In alcuni casi, quando si chiamano questa funzione, potrebbe verificarsi un'eccezione. Per esempio:

Seleziona Power (-100, 1/2) x2

Da dual.

In questo caso, viene effettuato un tentativo di calcolare una radice quadrata da un numero negativo, che porterà a un errore ORA-01428 "al di fuori dell'intervallo".

Funzione SQRT (N)

Questa caratteristica Restituisce la radice quadrata dal numero N. Per esempio:

Seleziona SQRT (100) x

Da dual.

Funzioni exp (n) e ln (n)

La funzione EXP Erende E al grado n e la funzione LN calcola il logaritmo naturale da n (con N, N deve essere maggiore di zero). Esempio:

Seleziona EXP (2) x1, LN (1) x2, ln (exp (2)) x3

Caratteristica NVL

La funzione NVL è solitamente applicata più spesso. La funzione riceve due parametri: NVL (EXPR1, EXPR2). Se il primo parametro EXPR1 non è uguale a NULL, la funzione restituisce il suo valore. Se il primo parametro NULL, la funzione restituisce il valore del secondo parametro EXPR2.

Considera un esempio pratico. Il campo Comm nella tabella EMP può contenere valori nullo. Quando si esegue una query del modulo:

Seleziona Empno, ENAME, Comm, NVL (Comm, 0) NVL_COMM

Da scott.emp.

il valore nullo sarà sostituito da zero. Si prega di notare che nel caso della formazione del valore con l'aiuto della funzione, è assegnato a uno pseudonimo. I risultati della richiesta saranno:

Empno. Ename. Comm. Nvl_comm.
7369 fabbro 0
7499 Allen. 300 300
7521 Reparto 500 500
7566 Jones. 0
7654 Martin. 1400 1400
7698 Blake. 0
7782 Clark. 0
7839 Re. 0
7844 Turner 0 0
7900 James. 0
7902 Guado 0
7934 Mugnaio. 0

Ceil (n)

La funzione del ceil restituisce il più piccolo numero intero, maggiore o uguale al numero di N. Per esempio:

Seleziona ceil (100) x1, ceil (-100) x2, ceil (100.2) x3, ceil (-100.2) x4

Da dual.

Funzione TRUNC (n [, m])

La funzione TRUNC restituisce il numero n troncato a M segni dopo il punto decimale. Il parametro M potrebbe non essere indicato - in questo caso, n troncato nel tutto.

Seleziona trunc (100.25678) x1, trunc (-100.25678) x2, trunc (100.99) x3,

Trunc (100.25678, 2) x4

Da dual.

Funzione firma (n)

Funzione del segno determina il numero di numeri. Se N è positivo, quindi la funzione restituisce 1. Se il negativo viene restituito -1. Se lo zero è zero, allora 0 viene restituito. Per esempio:

Seleziona segno (100.22) x1, segno (-100.22) x2, segno (0) x3

Da dual.

Una caratteristica interessante di questa funzione è la possibilità di trasmettere m uguale a zero - non sorge gli errori di divisione per 0.

POWER (N, M) Funzione

La funzione di alimentazione costruisce il numero n al grado m. Il grado può essere frazionario e negativo, che espande in modo significativo le capacità di questa funzione.

Seleziona Power (10, 2) X1, Potenza (100, 1/2) X2,

Potenza (1000, 1/3) X3, Power (1000, -1/3) X4

Da dual.

X1. X2. X3. X4.
100 10 10 0,1

In alcuni casi, quando si chiamano questa funzione, potrebbe verificarsi un'eccezione. Per esempio:

Seleziona Power (-100, 1/2) x2

Da dual.

In questo caso, viene effettuato un tentativo di calcolare una radice quadrata da un numero negativo, che porterà a un errore ORA-01428 "al di fuori dell'intervallo".

Funzione SQRT (N)

Questa funzione restituisce una radice quadrata dal numero N. Per esempio:

Seleziona SQRT (100) x

Da dual.

Funzioni exp (n) e ln (n)

La funzione EXP Erende E al grado n e la funzione LN calcola il logaritmo naturale da n (con N, N deve essere maggiore di zero). Esempio:

Seleziona EXP (2) x1, LN (1) x2, ln (exp (2)) x3

Funzioni investite che abbiamo toccato un po 'prima, ora considerano un po' più di dettaglio. Consideraremo anche la funzione di lavorare con il valore di NULL e le funzioni che aiutano a implementare il funzionamento della filiale nella richiesta.

Funzioni nidificate

Funzioni nidificate I Uso il valore restituito di una funzione come parametro di input per un'altra funzione. Le funzioni restituiscono sempre un solo valore. Pertanto, è possibile considerare il risultato della funzione della funzione come valore letterale quando lo si utilizza come parametro di chiamata su un'altra funzione. Le funzioni di linea possono essere collegate a qualsiasi livello di nidificazione. Chiamare una funzione sembra

FUNCTION1 (parametro1, parametro2, ...) \u003d Risultato

Sostituzione del parametro funzione per chiamare un'altra funzione può portare all'aspetto delle specie

F1 (Param1.1, F2 (Param2.1, Param2.2, F3 (Param3.1)), Param1.3)

All'inizio, le funzioni annidate sono calcolate prima che i loro risultati siano utilizzati come valori di input per altre funzioni. Le funzioni sono calcolate dal livello più profondo di nidificazione verso il diritto a sinistra in alto a sinistra. L'espressione precedente viene eseguita come segue

  1. La figura F3 (Param1) è calcolata e il valore di ritorno viene utilizzato come terzo parametro per la funzione 2, chiamiamolo Param2.3
  2. La funzione F2 viene quindi calcolata (Param1, Param2.2, Param2.3) e il valore di ritorno viene utilizzato come seconda funzione del parametro F1 - Param1.2.
  3. Infine, la funzione F1 (Param1, Param2, Param1.3) viene calcolata e il risultato viene restituito al programma chiamante.

Pertanto, la funzione F3 è nel terzo livello di nidificazione.

Considera la richiesta

select_day (last_day (Sysdate) -7, 'Tue') da Dual;

  1. In questa query, tre funzioni, dal livello inferiore al top-sysdate, last_day, next_day. La richiesta viene eseguita come segue.
  2. Viene eseguita la funzione sysdate più nidificata. Restituisce il tempo attuale del sistema. Supponiamo che la data attuale del 28 ottobre 2009
  3. Il risultato è il risultato della funzione di secondo livello last_day. Last_Date ('28 -OXT-2009 ') Restituisce l'ultimo giorno di ottobre 2009, cioè il valore del 31 ottobre 2009.
  4. Quindi la sottrazione avviene da questa data di sette giorni - si scopre il 24 ottobre.
  5. E infine, la funzione Next_day ('24 -OXT-2009 ',' Tue ') è calcolata e la richiesta restituisce l'ultimo martedì di ottobre - che nel nostro esempio 27-ott 2009.

È abbastanza difficile capire e costruire espressioni complesse usando molte sfide allegate di funzioni, ma è dotata di tempo e pratica. È possibile rompere tali espressioni sulle parti e testare separatamente. La tabella Dual è molto utile per testare Z.Aprosov e i risultati della funzione della funzione. È possibile testare e debug piccoli componenti, che quindi si combinano in un'unica espressione desiderata.

Funzioni di filiale

Funzioni di ramo, noto anche come se qualcosa - altrimenti, viene utilizzato per determinare il percorso di implementazione a seconda di qualsiasi circostanza. Le funzioni di ramificazione restituiscono diversi risultati in base al risultato del calcolo della condizione. Il gruppo di tali funzioni alloca funzioni di lavorare con il valore di NULL: NVL, NVL2, NULLIF e Coalesce. E anche le caratteristiche comuni rappresentate dalla funzione Decode e dall'espressione del caso. La funzione Decode è una funzione Oracle, mentre l'espressione del caso è presente nello standard ANSI SQL.

Caratteristica NVL

La funzione NVL controlla il valore della colonna o esprimendo qualsiasi tipo di dati su NULL. Se NULL - restituisce un valore predefinito non nullo alternativo, altrimenti il \u200b\u200bvalore iniziale viene restituito.

La funzione NVL ha due parametri richiesti e sintassi NVL (originale, IFNULL) dove originale è il valore originale per il controllo e il risultato IFNull restituito dalla funzione se il valore originale è nullo. Il tipo di dati dei parametri IFNull e originali deve essere compatibile. Cioè, il tipo di dati deve essere lo stesso o dovrebbe essere la possibilità di conversione implicita di valori da un tipo all'altro. La funzione NVL restituisce il valore dello stesso tipo di dati del tipo di dati del parametro originale. Considera tre richieste

Query 1: selezionare NVL (1234) da Dual;

Query 2: selezionare NVL (NULL, 1234) da DUAL;

Query 3: Seleziona NVL (Substr ('ABC', 4), 'Nessuna sottostringa esiste') da Dual;

Poiché le funzioni NVL richiedono due parametri, la query 1 restituirà l'errore ORA-00909: numero non valido di argomenti. La richiesta 2 restituirà il 1234 mentre il valore nullo è controllato ed è nullo. La domanda tre viene utilizzata la funzione substr annidata che tenta di selezionare il quarto carattere da una stringa lunga in tre caratteri, restituisce il valore nullo e la funzione NVL restituisce la stringa "Nessuna SBustring esiste".

La funzione NVL è molto utile quando si lavora con i numeri. È usato per convertire valori nulli su 0 in modo che le operazioni aritmetiche sui numeri non vengano restituite null

Caratteristica NVL2

La funzione NVL2 fornisce più funzionalità di NVL, ma serve anche a elaborare il valore nullo. Controlla il valore della colonna o delle espressioni di qualsiasi tipo a null. Se il valore non è uguale a NULL, il secondo parametro è coinvolto, altrimenti il \u200b\u200bterzo parametro viene restituito, a differenza della funzione NVL, che in questo caso restituisce il valore iniziale.

La funzione NVL2 ha tre parametri richiesti e sintassi NVL2 (originale, IFNOTNull, IFNULL), dove originale è un valore valido, il valore Ifnotnull viene restituito nel caso originale non è null e IFNull restituito nel caso se originale sia NULL. I tipi di dati dei parametri ifnotnull e ifnull devono essere compatibili e non possono essere lunghi. Il tipo di dati della funzione di restituzione NVL2 è uguale al tipo di dati del parametro IFNotNull. Considera alcuni esempi

Query 1: selezionare NVL2 (1234, 1, "una stringa") da Dual;

Query 2: selezionare NVL2 (NULL, 1234, 5678) da Dual;

Query 3: Selezionare NVL2 (Substr ('ABC', 2), 'Non BC', 'Nessuna sottostringa') da Dual;

Il parametro ifnotnull nella query 1 è il numero e il parametro IFNULL è una stringa. Poiché i tipi di dati sono incompatibili, l'errore "ORA-01722: il numero non valido" è restituito. La coda due restituisce il parametro IFNULL, poiché l'originale è NULL e il risultato sarà 5678. La query tre utilizza la funzione substr che restituisce 'BC' e chiamano NVL2 ('BC', 'NON BC', 'NO POSSEGNAZIONE') - CHE TROVA parametro ifnotnull - 'non BC'.

Funzione Nullif.

La funzione Nullif controlla due valori per l'identità. Se sono gli stessi - null è restituito altrimenti il \u200b\u200bprimo parametro viene restituito. La funzione NULLIF ha due parametri obbligatori e sintassi NULLIF (IFUNEQUAL, Confronto_Item). La funzione confronta due parametri e se sono identici - null viene restituito, altrimenti il \u200b\u200bparametro ifunequal. Considera richieste

Query 1: selezionare Nullif (1234, 1234) da Dual;

La richiesta si ritorna NULL poiché i parametri sono identici. Le righe nella query 2 non vengono convertite alla data, ma sono confrontate come linee. Dal momento che le righe di diverse lunghezze - restituisce il parametro IFunequal 24-Jul-2009.

Figura 10-4, la funzione Nullif è investita nella funzione NVL2. Nella funzione NULLIF, a sua volta, il substr e le funzioni superiori vengono utilizzati come parte dell'espressione nel parametro ifunequal. La colonna Email viene confrontata con questa espressione che restituisce la prima lettera del nome, unita con il cognome per i dipendenti che hanno un nome in 4 caratteri. Quando questi valori sono uguali, Nullif restituirà NULL, il valore del parametro ifunequal restituirà il valore. Questi valori sono utilizzati come parametro per la funzione NVL2. NVL2 a sua volta, restituisce la descrizione se gli elementi Comparabili coincisero o meno.

Figura 10-4 - Usando la funzione Nullif

Funzione di coalese

La funzione Coalesce restituisce il primo valore non uguale a NULL dall'elenco dei parametri. Se tutti i parametri sono nulli, NULL viene restituito. La funzione Coalece ha due parametri richiesti e quanti parametri facoltativi e sintassi di coalese (expr1, expr2, ..., exprn) in cui il risultato è EXPR1 se il valore di EXPR 1H NULL, altrimenti il \u200b\u200brisultato sarà EXPR2 se non è null , eccetera. Coalesce è ugualmente nel significato delle funzioni NVL

Coalesce (EXPR1, EXPR2) \u003d NVL (EXPR1, EXPR2)

Coalesce (expr1, expr2, expr3) \u003d nvl (expr1, nvl (expr2, expr3))

Tipo di dati Valore di ritorno Se non il valore NULL NULL è uguale al tipo di dati del primo valore non nullo. Per evitare l'errore "ORA-00932: tipi di dati incoerenti", tutti i parametri non nullo devono essere compatibili con il primo parametro non null. Considera tre esempi

Query 1: Seleziona Coales (Null, Null, Null, "una stringa") da Dual;

Query 2: Select Coales (Null, Null, Null) da Dual;

Query 3: Seleziona Coalesce (Substr ('ABC', 4), 'NOT BC', 'NO POSSTRING') DA DUAL;

RICHIESTA 1 Restituisce il quarto parametro: stringa, poiché questo è il primo parametro NULL. La query due ritorna NULL poiché tutti i parametri sono nullo. Richiesta 3 Calcola il primo parametro, ottiene il valore nullo e restituisce il secondo parametro, poiché è il primo parametro non null.

I parametri della funzione NVL2 possono confondere se si ha già familiarità con la funzione NVL. NVL (originale, IFNULL) restituisce originale se il valore non è nullo, altrimenti ifull. NVL2 (originale, IFNOTNULL, IFNULL) ritorna IFNOTNULL se il valore originale non è uguale a null diverso da IFNULL. La confusione avviene a causa del fatto che il secondo parametro della funzione NVL IFNULL, mentre NVL2 è IFNOTNULL. Quindi non sperare di posizionare il parametro nella funzione.

Caratteristica decodifica

La funzione Decode implementa se-then-all 'logica. Controllo dei primi due parametri per uguaglianza e restituire il terzo valore in caso di uguaglianza o altro valore nel caso della disuguaglianza. La funzione Decode ha tre parametri necessari e decodifica sintassi (EXPR1, Comp1, IfTue1 ,,). Questi parametri vengono utilizzati come mostrato nel seguente esempio di pseudo-code.

Se expr1 \u003d Comp1, quindi restituire iFTUE1

Altrimenti se expr1 \u003d comp2 quindi restituire ifue2

Altrimenti se exprn \u003d compn quindi restituire iftrun

Altrimenti restituire null | iffalse;

All'inizio, Expr1 è confrontato con Comp1. Se sono uguali al valore di IFTRUE1. Se EXPR1 non è uguale a Comp1, quindi ciò che accade ulteriormente dipende dal fatto che siano specificati i parametri del Comp2 e IFTRUE2. Se sono impostati Set, il valore EXPR1 viene confrontato con il Comp2. Se i valori sono uguali, IFTRUE2 viene restituito. In caso contrario, se ci sono coppie di parametri Compn, iFTRUEN confronta EXPR1 e Compn e se IFTRUEN viene restituito in caso di uguaglianza. Se non vi è stata una coincidenza in nessun set di parametri, viene restituito se se se fosse impostato questo parametro o null.

Tutti i parametri nella funzione Decode possono essere espressioni. Il tipo di valore restituito è uguale al tipo del primo elemento di controllo: il parametrocomp 1. EXPR Espressione 1 implicitamente convertito nel tipo di dati del parametro Comp1. Tutte le altre opzioni di Comp disponibili1 ... Compn. Anche implicitamente convertito in tipo Comp1. Il decodifica considera il valore nullo come uguale a un altro valore nullo, cioè. Se Expr1 è NULL e Comp3 è NULL, e Comp2 non è , il valore IFTRUE3 viene restituito. Considera alcuni esempi

Query 1: Seleziona decodifica (1234, 123, '123 è una partita') da Dual;

Query 2: Seleziona decodifica (1234, 123, '123 è una partita', 'nessuna corrispondenza') da Dual;

Query 3: Seleziona decodifica ('Cerca', 'Comp1', 'TRUE1', 'COMP2', 'TRUE2', 'Cerca', 'TRUE3', SUSTRSTR ('2SEARCH', 2, 6), 'TRUE4', ' falso ') da dual;

La richiesta si confronta il valore di 1234 e 123. Poiché non sono uguali, quindi IFTRUE1 viene ignorato e poiché non è definito se NULL viene restituito. La query è identica alla query 1, l'eccezione che il valore IFFALSE è definito. Dal 1234 non è uguale a 123, è restituito IFFALSE - "Nessuna corrispondenza". La query tre controlla i valori dei parametri sulla corrispondenza del valore di ricerca. I parametri di Comp1 e Comp2 non sono uguali a "ricerca" pertanto, i risultati di IFTRUE1 e IFTRUE2 vengono saltati. La coincidenza si trova nel terzo confronto di confronto dell'elemento Comp3 (posizione del parametro 6) e viene restituito il valore IFTRUE3 (parametro 7) quale è "TRUE3". Dal momento che la coincidenza è trovata più calcoli non sono fatti. Cioè, nonostante il fatto che il valore del Comp4 (parametro 8) coincide anche con EXPR1 - questa espressione non viene mai calcolata poiché la coincidenza è stata trovata nel precedente confronto.

Espressione del caso

Tutti i linguaggi di programmazione di terza e quarta generazione implementano il caso del design. Come la funzione Decode, l'espressione del caso consente di implementare la logica IF-Then-allue. Sono disponibili due opzioni per l'utilizzo dell'espressione del caso. La semplice espressione del caso imposta l'elemento sorgente da confrontare una volta, quindi elenca tutto le condizioni necessarie Controlli. Il caso complesso (cercato) calcola sia gli operatori per ciascuna condizione.

L'espressione del caso ha tre parametri obbligatori. La sintassi dell'espressione dipende dal tipo. Per un semplice caso di espressione, sembra

Caso search_expr.

Quando confronto_expr1 quindi ifue1

}

La campana.

Ci sono quelli che hanno letto questa notizia prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
Cognome
Come vuoi leggere la campana
Senza spam.