MySQL的铸造怪异

时间:2018-12-11 21:20:12

标签: mysql sql ansi-sql

我正在针对MySQL服务器尝试以下简单表达式:

select cast('2010-01-01' as timestamp)
select cast('2010-01-01' as varchar(55))

,我收到以下错误消息:

  

[42000] [MySQL] [ODBC 8.0(w)驱动程序] [mysqld-8.0.13]您的SQL语法错误;在第1行(1064)(SQLExecDirectW)上,检查与您的MySQL服务器版本相对应的手册,以获取在“时间戳记”附近使用的正确语法

  

[42000] [MySQL] [ODBC 8.0(w)驱动程序] [mysqld-8.0.13]您的SQL语法错误;在第1行(1064)(SQLExecDirectW)中检查与您的MySQL服务器版本相对应的手册以在'varchar(55))'附近使用正确的语法(

有什么作用?这不是标准的SQL语法吗?如果我将timestamp更改为datetime,并且如果我将varchar更改为char,但我也看不到为什么都必须这样做。

我正在使用ODBC,Mysql 8,据我所知,它在其他任何RDBMS中都可以正常工作吗?

1 个答案:

答案 0 :(得分:0)

您需要阅读Authorization: Bearer A_VALID_TOKEN 上的documentation。与大多数数据库不同,它不采用任意类型。

允许以下内容:

cast()

您的版本不是。函数就是这样工作的。