我在MySQL数据库中有一个TimeStamp字段,我试图从中提取数据。我试图将其作为字符串,因此我一直在使用以下查询:
select CONVERT(VARCHAR, date_created, 120) from junk;
它抛出错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARCHAR, date_modified, 120) from junk limit 10' at line 1
有人可以告诉我我做错了吗?
答案 0 :(得分:1)
CONVERT()
中的 MySQL
用于在不同的字符集之间进行转换,您需要DATE_FORMAT()
:
SELECT DATE_FORMAT(date_created, '%Y%m%d %H%i%S')
FROM Junk
更新:原来CAST()
错误地使用了VARCHAR()
,但CAST()
也会有效:
SELECT CAST(date_created AS CHAR(10))
FROM Junk
答案 1 :(得分:1)
如果要显式格式化为yyyymmdd(sql server中的样式120)
Select DATE_FORMAT(somedate, '%Y%m%d') From SomeTable
答案 2 :(得分:0)
在MySql中,CONVERT()
函数用于在字符集(如utf-8或ascii)之间转换现有字符串类型(如varchar)。要格式化TimeStamp列,请使用FROM_UNIXTIME()
函数。