简体   繁体   English

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

[英]How to use the CAST function correctly in a MySql SELECT statement?

I'm converting an MSSQL DB to MySQL DB and I have a stored procedure that is using a cast function to convert from a datetime datatype to a varchar datatype. 我正在将MSSQL DB转换为MySQL DB,并且我有一个存储过程,它使用强制转换函数将datetime数据类型转换为varchar数据类型。 Whether or not this matters in php/mysql since php isn't strongly typed (and I dont know if it would matter or not) I really want to keep the SP a close to the orginal as possible so I can maintain the same expected functionality. 这是否在php / mysql中很重要因为php不是强类型的(我不知道它是否重要)我真的想让SP尽可能接近原点,这样我就能保持相同的预期功能。 The problem is that I can't get the cast function to work right in mysql. 问题是我不能让cast函数在mysql中正常工作。 Here is a test I tried that got me an error: 这是我试过的一个测试,我遇到了一个错误:

DELIMITER ;//

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

What am I doing wrong? 我究竟做错了什么?

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

SELECT CAST(my_table.DateColumn AS CHAR(10)) as TextColumn FROM my_table;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM