【发布时间】:2020-01-13 17:46:48
【问题描述】:
当我在 phpMyAdmin 中运行我的 SQL 时,我的日期时间字段 (pm_expense_ledger.hos_date) 以这种格式显示:2019-10-01 00:00:00
虽然这不是最终用户 GUI,但我如何格式化日期时间字段以仅显示为 DDMMMYYYY ("%d %b %Y"),因为我在运行查询时不需要尖齿?
你可以看到我尝试了几次都不成功!
代码:
SELECT pm_expense_ledger_el_connector.property_id AS PropId,
/* show FIELDS from pm_expense_ledger; to view field column types */
pm_expense_ledger.hos_date AS Date, /* this is a datetime field */
/* DATE_FORMAT('pm_expense_ledger.hos_date', '%d%b%Y') AS FDate, returns null values */
/* DATE_FORMAT("pm_expense_ledger.hos_date", "%d %b %Y %H-%i-%S") AS D1,*/
/* DATE('pm_expense_ledger.hos_date', '%d %b %Y') AS D2,*/
/* DATE("pm_expense_ledger.hos_date", "%d %b %Y") AS D3, no difference using single or double quotes */
/* DATA_TYPE('pm_expense_ledger.hos_date'),*/
pm_homeowner_statement_key.key_name AS Item,
pm_expense_ledger_description.descr AS Description,
pm_expense_ledger_el_connector.hos_total AS HOS,
pm_expense_ledger.pm_expense_ledger_id AS pmelid,
pm_expense_ledger.expense_ledger_id AS elid
FROM pm_expense_ledger_el_connector
JOIN pm_expense_ledger
on pm_expense_ledger.pm_expense_ledger_id = pm_expense_ledger_el_connector.pm_exp_ledger_id
JOIN pm_expense_ledger_description
on pm_expense_ledger_description.pm_el_description_id = pm_expense_ledger.pm_exp_ledg_descr_id
JOIN pm_homeowner_statement_key
on pm_homeowner_statement_key.pm_hos_key_id = pm_expense_ledger.pm_hos_key_id
where pm_expense_ledger.hos_date BETWEEN '2019,12,01' and '2019,12,31'
/*group by pm_expense_ledger_el_connector.property_id*/
order by pm_expense_ledger_el_connector.property_id ASC, pm_expense_ledger.hos_date ASC, pm_expense_ledger_id ASC;
【问题讨论】:
-
让数据库返回原始二进制日期时间值并让客户端应用程序担心格式通常会更有效。