我正在尝试使用 MySQL DATE_FORMAT 格式化日期。我的查询是
SELECT first_name, middle_name, last_name, DATE_FORMAT(added_date,'%d/%m/%Y') AS AddDate
FROM profiles.
added_date 是配置文件表上的日期字段,当我运行该查询时,它会为 AddDate 带来 Null,任何建议。
谢谢。
根据您的评论,您可能正在寻找这个
SELECT first_name, middle_name, last_name,
DATE_FORMAT(STR_TO_DATE(added_date, '%d-%m-%Y %h:%i:%s %p'),'%d/%m/%Y') AS AddDate
FROM profiles
样本输出:
| FIRST_NAME | MIDDLE_NAME | LAST_NAME | 添加日期 | -------------------------------------------------- --- | 约翰 | (空) | 能源部 | 2013 年 11 月 8 日 |
这是SQLFiddle演示
如果您将其存储为 INT,您可能需要使用 FROM_UNIXTIME()
SELECT
first_name,
middle_name,
last_name,
DATE_FORMAT(FROM_UNIXTIME(added_date),'%d/%m/%Y') AS AddDate
FROM
profiles
使用STR_TO_DATE()尝试类似的事情:-
SELECT first_name, middle_name, last_name, DATE_FORMAT(STR_TO_DATE(added_date, '%d-%m-%Y %h:%i:%s A'),'%d/%m/%Y') AS AddDate
FROM profiles
查找已编辑的查询
SELECT first_name, middle_name, last_name,
DATE_FORMAT(STR_TO_DATE(added_date, '%d-%m-%Y %h:%i:%s A'),'%d/%m/%Y') AS AddDate
FROM profiles