如何在MySQL中显示mm / dd / yyyy hh:mm:ss am / pm?

时间:2014-02-20 17:33:23

标签: mysql

我对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查询级别解决这个问题?

2 个答案:

答案 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