Mysql SQL查询中的转换或强制转换字段

Mysql SQL查询中的转换或强制转换字段,mysql,sql,casting,Mysql,Sql,Casting,我在MySQL数据库中有一个TimeStamp字段,我正试图从中提取数据。我试图将其作为字符串获取,因此使用了以下查询: 从垃圾中选择CONVERT(VARCHAR,date_created,120) 它抛出错误: 错误1064(42000):您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第1行“VARCHAR,date_modified,120)from junk limit 10”附近使用的正确语法 有人能告诉我我做错了什么吗?CONVERT()在MySQL中用于不同字符

我在MySQL数据库中有一个TimeStamp字段,我正试图从中提取数据。我试图将其作为字符串获取,因此使用了以下查询:

从垃圾中选择CONVERT(VARCHAR,date_created,120)

它抛出错误:

错误1064(42000):您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第1行“VARCHAR,date_modified,120)from junk limit 10”附近使用的正确语法

有人能告诉我我做错了什么吗?

CONVERT()
MySQL
中用于不同字符集之间的转换,您需要
DATE\u FORMAT()

更新:最初错误地使用了
VARCHAR()
,但是
CAST()
也可以:

SELECT CAST(date_created AS CHAR(10))
FROM Junk

在MySql中,该函数用于在字符集(如utf-8或ascii)之间转换现有的字符串类型(如varchar)。要格式化时间戳列,请使用函数。

如果要显式格式化为yyyymmdd(sql server中的样式120)


MySql和Sql Server是两种完全不同的产品。错误消息是您使用的是MySql,而不是Sql Server。非常确定
CONVERT
不是ANSI标准,并且特定于Sql Server
CAST
是标准的,但我认为不允许格式化代码。VarChar需要一个大小,例如VarChar(10)@TonyHopkinson实际上在SQL Server
VarChar
中,没有大小调整,隐式大小大约为30。然而,问题在于将T-SQL代码与MySQL RDBMS混合在一起。Aye看到转换和样式由于某种原因立即将我的SQL server置于首位…
MySQL>select CAST(date_创建为VARCHAR(30));错误1064(42000):您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第1行“VARCHAR(30))?我是一个SQL Server的家伙,关于MySQL还有很多要学习的。啊,应该是
CAST(date\u created AS CHAR(30))
或者更好:
CAST(date\u created AS CHAR(10))
FROM\u UNIXTIME
将该列中的所有数据转换为
NULL
<代码>从垃圾中选择时间(创建日期)是我使用的查询。谢谢您的回答!格式不是我想要的,但我改变了格式以得到我需要的。我使用了以下代码:
从垃圾邮件中选择日期格式(创建日期,'%Y-%m-%d%h:%I:%s')。再次感谢!
SELECT CAST(date_created AS CHAR(10))
FROM Junk
Select DATE_FORMAT(somedate, '%Y%m%d') From SomeTable