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

如何在MySQL中显示mm/dd/yyyy hh:mm:ss am/pm?,mysql,Mysql,我对MySQL如何在MySQL中使用dateformat显示mm/dd/yyyy有点怀疑 该字段中的任何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:%

我对MySQL如何在MySQL中使用
dateformat
显示
mm/dd/yyyy
有点怀疑 该字段中的任何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
。我不需要这个,因为空记录或空记录。请告诉我如何在MySQL查询级别解决这个问题?

试试这个

select if(checkin is null , null ,DATE_FORMAT(checkin,'%c/%e/%Y %h:%i:%s %p') )as date
from emp

我假设您希望有空值,保持为空,并且只格式化日期,因此请尝试使用以下任一方法:

SELECT IF(checkin IS NOT NULL, DATE_FORMAT(checkin,'%c/%e/%Y %h:%i:%s %p'), NULL ) AS date
FROM   emp


HI尝试了上述查询,但仍然是0/0/0000 12:00:00 AM,此时该字段上的记录为null或为空。是否有其他方式请告诉我该查询。@user1623352,请澄清您所说的空记录是什么意思?您的意思是这些值要么为空,要么设置为默认的日期时间值?您所指的空值是什么?我可以修改我的查询以适应这一点,但我需要知道您在这里讨论的所有可能的条件。文章中的示例数据没有显示空数据,它只显示空数据。
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