mysql查询返回意外结果。我正在尝试连接几个包含日期查询的字符串,如下所示:
mysql> select month(timestamp) +'-'+ day(timestamp) + '-' +
year(timestamp) as date FROM table ORDER BY timestamp DESC LIMIT 1;我得到了一个4位数的结果,我假设它是预期结果的总和:
+------+
| date |
+------+
| 2035 |
+------+我还尝试将每个函数都转换为CHAR,但都不起作用:
mysql> select CAST(month(timestamp) as CHAR) +'-'+ CAST(day(timestamp) as CHAR) + '-' +
CAST(year(timestamp) as CHAR) as date FROM table ORDER BY timestamp DESC LIMIT 1;有人能告诉我我哪里做错了吗?我猜如何修复它也会很好:)
发布于 2013-01-22 16:06:37
在MySQL中,使用CONCAT_WS
CONCAT_WS('-', month(timestamp),day(timestamp),year(timestamp))查询,
SELECT CONCAT_WS('-', month(timestamp),day(timestamp),year(timestamp)) AS DATE
FROM tablename
ORDER BY timestamp DESC
LIMIT 1或者使用DATE_FORMAT
SELECT DATE_FORMAT(timestamp, '%m-%d-%Y') AS DATE
FROM Table1
ORDER BY timestamp DESC
LIMIT 1其他(S):
发布于 2013-01-22 16:13:04
使用CONCAT、DAY、MONTH、YEAR等来格式化日期是愚蠢的。
如果timestamp是包含UNIX时间戳的整数列,请使用以下命令:
SELECT DATE_FORMAT(FROM_UNIXTIME(`timestamp`), '%m-%d-%Y') AS `Formatted Date`
...如果timestamp是日期/日期时间列,请使用以下内容:
SELECT DATE_FORMAT(`timestamp`, '%m-%d-%Y') AS `Formatted Date`
...https://stackoverflow.com/questions/14454035
复制相似问题