【发布时间】:2019-05-12 22:30:24
【问题描述】:
我正在对 MySQL 服务器尝试以下简单的表达式:
select cast('2010-01-01' as timestamp)
select cast('2010-01-01' as varchar(55))
我收到以下错误:
[42000] [MySQL][ODBC 8.0(w) Driver][mysqld-8.0.13]您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行 (1064) (SQLExecDirectW) 的“时间戳”附近使用正确的语法
或
[42000] [MySQL][ODBC 8.0(w) Driver][mysqld-8.0.13]您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行 (1064) (SQLExecDirectW) 的 'varchar(55))' 附近使用正确的语法```
什么给了?这不是标准的 SQL 语法吗?如果我将timestamp 更改为datetime 可以,如果我将varchar 更改为char 也可以,但我不明白为什么我也必须这样做。
我正在使用 ODBC、Mysql 8,据我所知,这在几乎任何其他 RDBMS 中都可以正常工作?
【问题讨论】:
-
感谢@Gordon Linoff 的格式化