如何在MySql SELECT语句中正确使用CAST函数?

aar*_*ona 6 mysql casting

我正在将MSSQL DB转换为MySQL DB,并且我有一个存储过程,它使用强制转换函数将datetime数据类型转换为varchar数据类型.这是否在php/mysql中很重要因为php不是强类型的(我不知道它是否重要)我真的想让SP尽可能接近原点,这样我就能保持相同的预期功能.问题是我不能让cast函数在mysql中正常工作.这是我试过的一个测试,我遇到了一个错误:

DELIMITER ;//

DROP PROCEDURE IF EXISTS `test`;//
CREATE PROCEDURE `test`()
BEGIN
  SELECT CAST(my_table.DateColumn AS VARCHAR(10)) as TextColumn
    FROM my_table;
END;//
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

gre*_*ama 13

VARCHAR不是CAST函数的有效类型,但CHAR是.

SELECT CAST(my_table.DateColumn AS CHAR(10)) as TextColumn FROM my_table;
Run Code Online (Sandbox Code Playgroud)