Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 15127|Atbildi: 0

[Avots] IFNULL, NULLIF un ISNULL lietojums

[Kopēt saiti]
Publicēts 11.05.2018 13:37:59 | | |
Isnull, ifnull, nullif lietojums ir šāds:

isnull(expr) lietojums:Ja izteiksme ir nulle, tad isnull() atgriež vērtību 1, pretējā gadījumā tiek atgriezta vērtība 0.
mysql> izvēlieties isnull(1+1);
-> 0
mysql> izvēlieties isnull(1/0);
-> 1
Nulles vērtību salīdzināšanai = izmantošana parasti ir nepareiza.

Funkcijai isnull() ir dažas no tām pašām īpašībām kā salīdzināšanas operatoram is null. Skatīt piezīmi par ir nulle.

IFNULL(expr1;expr2) lietošana:

Ja expr1 nav NULL, IFNULL() atgrieztā vērtība ir expr1;
Pretējā gadījumā tiek atgriezta vērtība expr2. IFNULL() atgriež skaitli vai virkni atkarībā no konteksta, kurā tas tiek izmantots.

mysql> ATLASIET IFNULL(1,0);
-> 1
mysql> ATLASIET IFNULL(NULL,10);
-> 10
mysql> SELECT IFNULL(1/0,10);
-> 10
mysql> SELECT
IFNULL(1/0;'jā');

-> "jā"

IFNULL(expr1,expr2) noklusējuma rezultāta vērtība ir "vispārīgākā" no abām izteiksmēm secībā STRING, REAL vai
VESELS SKAITLIS。 Pieņemsim, ka situācija, kad uz izteiksmēm balstītai tabulai vai MySQL ir jāsaglabā atgrieztā vērtība IFNULL() pagaidu tabulā iekšējā atmiņā:
CREATE TABLE tmp SELECT IFNULL(1,'test') AS test;
Šajā piemērā testa kolonnas tips ir CHAR(4).
NULLIF(expr1,expr2) lietojums:  
Ja izteiksme1
= expr2 ir true, tad atgrieztā vērtība ir NULL, pretējā gadījumā atgrieztā vērtība ir expr1. Tas ir tas pats, kas CASE WHEN expr1 = expr2
TAD NULL ELSE expr1 END ir tāds pats.
mysql> SELECT
NULLIF(1,1);

-> NULL
mysql> ATLASIET NULLIF(1,2);
-> 1
Ja parametri nav vienādi, tad MySQL divreiz saņem vērtību expr1.






Iepriekšējo:Servera CPU aparatūras veiktspējas pārbaude
Nākamo:Izmantojot MySQL, lai apstrādātu vairāk nekā vienu miljonu datu līmeņu, ir jāzina dažas veselas sajūtas
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com