Sõnade isnull, ifnull, nullif kasutus on järgmine:
Sõna isnull(expr) kasutus:Kui expr on null, siis isnull() tagastab väärtuseks 1, muidu tagastab 0. MySQL> vali isnull(1+1); -> 0 MySQL> vali isnull(1/0); -> 1 Nullväärtuste võrdluseks = kasutamine on tavaliselt vale.
Isnull() funktsioon jagab mõningaid samu omadusi nagu is null võrdlusoperaator. Vaata märkust selle kohta, et on null.
IFNULL(expr1,expr2) kasutus:
Kui expr1 ei ole NULL, on IFNULL() tagastusväärtus expr1; Vastasel juhul tagastatakse väärtus expr2. IFNULL() tagastab kas numbri või stringi, sõltuvalt kontekstist, milles seda kasutatakse.
mysql> VALI IFNULL(1,0); -> 1 mysql> VALI IFNULL(NULL,10); -> 10 mysql> VALI IFNULL(1/0,10); -> 10 mysql> SELECT IFNULL(1/0, 'jah');
-> 'jah'
IFNULL(expr1,expr2) vaikimisi tulemuse väärtus on kahest avaldisest "üldisem", järjekorras STRING, REAL või TÄISARV。 Oletame olukorra, kus avaldispõhine tabel ehk MySQL peab salvestama IFNULL() tagastusväärtuse ajutisesse tabelisse sisemällu: LOO TABEL tmp VALI IFNULL(1,'test') testiks; Selles näites on testveerg tüüp CHAR(4).
NULLIF(expr1,expr2) kasutus: Kui expr1 = expr2 on tõene, siis tagastusväärtus on NULL, muidu on tagastusväärtus expr1. See on sama mis JUHTUM KUI expr1 = expr2 SIIS NULL ELSE EXPR1 END on sama. mysql> SELECT NULLIF(1,1);
-> NULL mysql> VALI NULLIF(1,2); -> 1 Kui parameetrid ei ole võrdsed, saab MySQL väärtuse expr1 kaks korda.
|