此 SQL 针对 MariaDB 的查询中此 Convert() 有什么问题
What is the Issue with this Convert() in this SQL Query Against MariaDB
我正在转换一些 SQL 语句,因为我们 运行 是针对 MariaDB 而不是 SQL Anywhere。在其中一个查询中,我在这一行收到错误:
select convert(char, c.dob, 1) as "DOB"
具体来说,这是产生的错误:
Error Code: 1064. You have an error in your SQL syntax; check the
manual that corresponds to your MariaDB server version for the right
syntax to use near 'c.dob, 1) as "DOB",
我的理解是,这个 "convert" 试图从 "dob" 值生成一个 "char" 类型的值,该值目前是 date
类型。
在这种情况下会出现什么问题?这与 MariaDB 处理日期的方式不同有关吗?
CONVERT()
只有 2 个参数:
https://mariadb.com/kb/en/library/convert/
并且数据类型是第二个。
此外,如果c.dob
是任何类型的日期或时间,那么您不需要任何转换函数。它将在该上下文中自动生成一个字符串。
我正在转换一些 SQL 语句,因为我们 运行 是针对 MariaDB 而不是 SQL Anywhere。在其中一个查询中,我在这一行收到错误:
select convert(char, c.dob, 1) as "DOB"
具体来说,这是产生的错误:
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'c.dob, 1) as "DOB",
我的理解是,这个 "convert" 试图从 "dob" 值生成一个 "char" 类型的值,该值目前是 date
类型。
在这种情况下会出现什么问题?这与 MariaDB 处理日期的方式不同有关吗?
CONVERT()
只有 2 个参数:
https://mariadb.com/kb/en/library/convert/
并且数据类型是第二个。
此外,如果c.dob
是任何类型的日期或时间,那么您不需要任何转换函数。它将在该上下文中自动生成一个字符串。