2009-06-13 5 views
6

Je convertis un DB MSSQL en base de données MySQL et j'ai une procédure stockée qui utilise une fonction cast pour convertir un type datetime en un type de données varchar. Que ce soit important ou non dans php/mysql puisque php n'est pas fortement typé (et je ne sais pas si cela importera ou non) je veux vraiment garder le SP le plus proche possible de l'orginal afin que je puisse maintenir la même fonctionnalité attendue . Le problème est que je n'arrive pas à faire fonctionner la fonction cast dans mysql. Voici un test que j'ai essayé qui m'a obtenu une erreur:Comment utiliser la fonction CAST correctement dans une instruction MySql SELECT?

DELIMITER ;// 

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

Qu'est-ce que je fais mal?

Répondre

13

VARCHAR n'est pas un type valide pour la fonction CAST, but CHAR is.

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

merci, cela a fonctionné! – DJTripleThreat

Questions connexes