Funcția decode () din subdirectoarea sql oracle, blogul dezvoltatorului, dezvoltarea pe oracol

Da, de mult timp nu a scris la blog, voi începe să se corecteze acum! La început vacanța a fost lungă, iar apoi sa îmbolnăvit, toate acestea amânând publicarea de noi articole.







În acest articol, vreau să scriu despre funcția sql, care este disponibilă numai în baza de date Oracle. Funcția este denumită "DECODE", o versiune simplificată a expresiei "CASE CÂND":

DECODĂ (<Контрольное значение>, <Значение1>, <Значение2>, <Значение3>, <Значение4>...<Дефолтное значение>)

Aici, valoarea "Control" este valoarea care este bifată.

Ie acest lucru este echivalent cu acesta:

caz <контрольное значение> când <значение1> atunci <значение2> când <значение3> atunci <значение4>. altfel <последнее значение> capăt

Sarcina programatorului este corelarea corectă a perechilor de valori după variabila inițială, adică "<Контрольного значения>“.

Voi da un exemplu foarte primitiv:

selectați decodarea ("Vova1", "8", "Vova", "Vova", "Vova.4", "Dima"







Ce va returna această solicitare. Și el va întoarce răspunsul "Dima". și fără valoarea "Dima", va reveni NULL. pentru că aici valoarea "Dima" este valoarea implicită și este valoarea, adică care este returnat implicit.

Aș dori să fac o remarcă - această caracteristică este destul de dificil de înțeles și de utilizarea acestuia poate duce la erori în interogări, astfel încât este mai bine să se folosească alte funcții similare - NVL și Coalesce. De cele mai multe ori, le puteți folosi pentru a rezolva sarcinile necesare în procesarea valorilor nula fără a utiliza funcția Decode.

Actualizare - mulțumită oricărei persoane care a găsit o eroare în textul acestui articol, a scris în mod intimă câteva lucruri, a fost prea târziu, se pare că a dormit 🙂

WordPress Plugin: verificare de sănătate - Esti gata să faceți upgrade la WordPress 3.2?

WordPress 3.1 - Eliminați Admin Bar

Se întoarce 3 linii (deoarece în 3 luni există cruci). Dar este necesar să se întoarcă un rând cu cruci în luna corespunzătoare ... E adevărat?

De când a devenit DECODE o funcție. În opinia mea, aceasta este încă o expresie!

În birou. andocare este doar funcția și este - "într-o funcție DECODE, Oracle consideră două nuli ca fiind echivalente." =)

Ar fi bine dacă în descriere există tipuri care pot fi comparate și returnate

Tipurile pot fi astfel (cele mai frecvente) - NUMBER, BINARY_FLOAT sau BINARY_DOUBLE, CHAR, VARCHAR2, NCHAR sau NVARCHAR2 =)







Articole similare

Trimiteți-le prietenilor: