程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql裡的IFNULL、NULLIF和ISNULL用法

MySql裡的IFNULL、NULLIF和ISNULL用法

編輯:MySQL綜合教程


MySql裡的IFNULL、NULLIF和ISNULL用法   今天用到了MySql裡的isnull才發現他和MSSQL裡的還是有點區別,現在簡單總結一下: mysql中isnull,ifnull,nullif的用法如下:   www.2cto.com   isnull(expr) 的用法: 如expr 為null,那麼isnull() 的返回值為 1,否則返回值為 0。  mysql> select isnull(1+1); -> 0 mysql> select isnull(1/0); -> 1 使用= 的null 值對比通常是錯誤的。    isnull() 函數同 is null比較操作符具有一些相同的特性。請參見有關is null 的說明。 IFNULL(expr1,expr2)的用法:  www.2cto.com  
  假如expr1   不為   NULL,則   IFNULL()   的返回值為   expr1;  否則其返回值為   expr2。IFNULL()的返回值是數字或是字符串,具體情況取決於其所使用的語境。 mysql>   SELECT   IFNULL(1,0);                      ->   1    mysql>   SELECT   IFNULL(NULL,10);       ->   10     mysql>   SELECT   IFNULL(1/0,10);               ->   10    mysql>   SELECT    IFNULL(1/0,'yes');                ->   'yes'  
  IFNULL(expr1,expr2)的默認結果值為兩個表達式中更加“通用”的一個,順序為STRING、   REAL或    INTEGER。假設一個基於表達式的表的情況,     或MySQL必須在內存儲器中儲存一個臨時表中IFNULL()的返回值:    CREATE   TABLE   tmp   SELECT   IFNULL(1,'test')   AS   test;    在這個例子中,測試列的類型為   CHAR(4)。       NULLIF(expr1,expr2)  的用法:   如果expr1   www.2cto.com   =   expr2     成立,那麼返回值為NULL,否則返回值為   expr1。這和CASE   WHEN   expr1   =   expr2    THEN   NULL   ELSE   expr1   END相同。     
  mysql>   SELECT    NULLIF(1,1);               ->   NULL    mysql>   SELECT   NULLIF(1,2);                ->   1   如果參數不相等,則 MySQL 兩次求得的值為 expr1 。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved