2012-08-22 28 views
1

我开发存储过程一个MYSQL,并在我需要验证日期字段,如下所示,如何验证MYSQL日期字段是否为NULL/EMPTY?

IF (dt_wedding_date<>'') THEN 
    IF (int_days_to_wedding>0) THEN 
     SET vc_wedding ='F'; 
    ELSE 
     SET vc_wedding ='P'; 
    END IF; 
    ELSE 
    SET vc_wedding = 'NA'; 
    END IF; 

但当dt_wedding_date为null,从来就没有到else部分。我试过“是空”,“不是空”,“>”,修剪功能,没有任何工作。

任何想法如何评估这个日期字段为空/空?

+0

请显示完整的程序。 – Devart

+0

所有涉及NULL的普通比较都返回false。但是,'IS NOT NULL'应该可以工作。 – Barmar

回答

1

尝试isnull的功能,我想在我的本地MySQL

mysql> select * from data_test; 
+----+------------+ 
| id | gmt_create | 
+----+------------+ 
| 1 | NULL  | 
+----+------------+ 
1 row in set (0.00 sec) 

mysql> select id, isnull(gmt_create) from data_test; 
+----+--------------------+ 
| id | isnull(gmt_create) | 
+----+--------------------+ 
| 1 |     1 | 
+----+--------------------+ 
1 row in set (0.00 sec) 

mysql> 

w3c reference

的MySQL确实有一个ISNULL()函数。但是,它的工作原理与微软的ISNULL()函数不同,它有点不同于 。