我对MySQL如何在MySQL中使用mm/dd/yyyy
显示dateformat
有一点疑问
我希望显示该字段中的任何null或空。
date
null
null
1/3/2013 9:29:33 AM
1/3/2013 10:42:53 AM
1/2/2013 10:54:00 AM
1/2/2013 2:41:19 PM
1/2/2013 2:41:25 PM
null
我尝试使用dateformat
select DATE_FORMAT(checkin,'%c/%e/%Y %h:%i:%s %p')as date from emp
那时它显示如下
0/0/0000 12:00:00 AM
0/0/0000 12:00:00 AM
1/3/2013 09:29:33 AM
1/3/2013 10:42:53 AM
1/2/2013 10:54:00 AM
1/2/2013 02:41:19 PM
1/2/2013 02:41:25 PM
0/0/0000 12:00:00 AM
这里我们有3条记录具有空值,我想要显示它的时间,但在这里
来了0/0/0000 12:00:00 AM
。 null或空记录时我不需要这个。请告诉我如何在MySQL查询级别解决这个问题?
答案 0 :(得分:1)
我假设您希望获得空值,保持为null,并且只格式化日期,因此请尝试使用以下任一方法:
SELECT IF(checkin IS NOT NULL, DATE_FORMAT(checkin,'%c/%e/%Y %h:%i:%s %p'), NULL ) AS date
FROM emp
OR
SELECT
CASE
WHEN checkin IS NOT NULL THEN DATE_FORMAT(checkin,'%c/%e/%Y %h:%i:%s %p')
ELSE NULL
END AS date
FROM emp
答案 1 :(得分:0)
试试这个
select if(checkin is null , null ,DATE_FORMAT(checkin,'%c/%e/%Y %h:%i:%s %p') )as date
from emp