標籤

4GL (1) 人才發展 (10) 人物 (3) 太陽能 (4) 心理 (3) 心靈 (10) 文學 (31) 生活常識 (14) 光學 (1) 名句 (10) 即時通訊軟體 (2) 奇狐 (2) 音樂 (2) 產業 (5) 郭語錄 (3) 無聊 (3) 統計 (4) 新聞 (1) 經濟學 (1) 經營管理 (42) 解析度 (1) 遊戲 (5) 電學 (1) 網管 (10) 廣告 (1) 數學 (1) 機率 (1) 雜趣 (1) 證券 (4) 證券期貨 (1) ABAP (15) AD (1) agentflow (4) AJAX (1) Android (1) AnyChart (1) Apache (14) BASIS (4) BDL (1) C# (1) Church (1) CIE (1) CO (38) Converter (1) cron (1) CSS (23) DMS (1) DVD (1) Eclipse (1) English (1) excel (5) Exchange (4) Failover (1) FI (57) File Transfer (1) Firefox (2) FM (2) fourjs (1) gladiatus (1) google (1) Google Maps API (2) grep (1) Grub (1) HR (2) html (23) HTS (8) IE (1) IE 8 (1) IIS (1) IMAP (3) Internet Explorer (1) java (3) JavaScript (22) jQuery (6) JSON (1) K3b (1) LED (3) Linux (112) Linux Mint (4) Load Balance (1) Microsoft (2) MIS (2) MM (51) MSSQL (1) MySQL (27) Network (1) NFS (1) Office (1) Oracle (125) Outlook (3) PDF (6) Perl (59) PHP (33) PL/SQL (1) PL/SQL Developer (1) PM (3) Postfix (2) postfwd (1) PostgreSQL (1) PP (50) python (1) QM (1) Red Hat (4) Reporting Service (28) ruby (11) SAP (234) scp (1) SD (16) sed (1) Selenium-WebDriver (5) shell (5) SQL (4) SQL server (8) SQuirreL SQL Client (1) SSH (2) SWOT (3) Symantec (2) T-SQL (7) Tera Term (2) tip (1) tiptop (22) Tomcat (6) Trouble Shooting (1) Tuning (5) Ubuntu (33) ufw (1) utf-8 (1) VIM (11) Virtual Machine (2) vnc (3) Web Service (2) wget (1) Windows (19) Windows (1) WM (6) youtube (1) yum (2)

2014年4月23日 星期三

MySql 里的IFNULL、NULLIF和ISNULL用法

http://www.cnblogs.com/JuneZhang/archive/2010/08/26/1809306.html

今天用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下:
mysql中isnull,ifnull,nullif的用法如下:
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)的用法:
假如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  
如果参数不相等,则   MySQL   两次求得的值为     expr1   。

沒有留言:

張貼留言