SQL查询中的CONVERT或CAST字段

时间:2014-04-09 15:34:48

标签: mysql sql casting

我在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

有人可以告诉我我做错了吗?

3 个答案:

答案 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

DATE_FORMAT() options

答案 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()函数。