我现在正在转换一些SQL语句,因为我们运行的是MariaDB而不是SQL Anywhere。在其中一个查询中,我在此行收到错误:
select convert(char, c.dob, 1) as "DOB"
具体来说,这是产生的错误:
错误代码:1064。您的 SQL 语法有误;检查 与您的MariaDB服务器版本相对应的正确手册 在'c.dob, 1(附近使用的语法作为"DOB",
我的理解是,这个"转换"正在尝试从"dob"值生成"char"类型的值,该值目前属于date
类型。
在这种情况下会有什么问题?它是否与MariaDB处理日期的方式不同有关?
CONVERT()
只有 2 个参数:
https://mariadb.com/kb/en/library/convert/
数据类型是第二种。
此外,如果c.dob
是任何类型的日期或时间,则不需要任何转换功能。 它将在该上下文中自动生成一个字符串。