Home  >  Article  >  Database  >  mysql的isnull

mysql的isnull

WBOY
WBOYOriginal
2016-06-07 15:52:411206browse

IFNULL(expr1,expr2) 假如expr1 不为 NULL,则 IFNULL() 的返回为 expr1; 否则其返回为 expr2。IFNULL()的返回是数字或是字符串,具体情况取决于其所使用的语境。 mysql SELECT IFNULL(1,0); - 1 mysql SELECT IFNULL(NULL,10); - 10 mysql SELECT IFNULL(1/

IFNULL(expr1,expr2)     


假如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 
=   expr2     成立,那么返回值为NULL,否则返回值为   expr1。这和CASE   WHEN   expr1   =   expr2   
THEN   NULL   ELSE   expr1   END相同。     
    
mysql>   SELECT   
NULLIF(1,1);   
    
                  ->   NULL   
    

mysql>   SELECT   NULLIF(1,2);   
    
                  ->   1  

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:MySQL 定时器EVENT学习Next article:mysql如何定时任务