在 mysql 中将日期转换为 varchar 会引发语法错误

Casting date to varchar in mysql throws syntax error

为什么 MYSQL 在这个简单的查询中抛出以下错误

select
  cast(cast(ts as DATE) as varchar)
from
  table_name
limit
  1;

您的 SQL 语法有误;似乎错误在:'varchar) from table_name limit 1' at line 2

CAST() and CONVERT() functions 不支持 VARCHAR 作为类型。

它们支持 BINARY、CHAR、DATE、DATETIME、DECIMAL、DOUBLE、FLOAT、JSON、NCHAR、REAL、SIGNED [INTEGER]、TIME、UNSIGNED [INTEGER]。请参阅手册。

无论如何,您不必将 DATE 转换为字符串类型。在许多客户端界面中,它将成为结果集中的一个字符串。

某些接口可能会转换为 language-specific 类型,例如 java.sql.Date