Как правильно использовать функцию CAST в операторе SELECT MySql? - PullRequest
6 голосов
/ 13 июня 2009

Я преобразую базу данных MSSQL в базу данных MySQL, и у меня есть хранимая процедура, использующая функцию приведения для преобразования типа данных datetime в тип данных varchar. Независимо от того, имеет ли это значение в php / mysql, поскольку php не является строго типизированным (и я не знаю, будет ли это иметь значение или нет), я действительно хочу, чтобы SP был как можно ближе к оригиналу, чтобы я мог поддерживать ту же ожидаемую функциональность , Проблема в том, что я не могу заставить функцию приведения работать правильно в 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;//

Что я делаю не так?

1 Ответ

13 голосов
/ 13 июня 2009

VARCHAR не является допустимым типом для функции CAST, , но CHAR равен .

SELECT CAST(my_table.DateColumn AS CHAR(10)) as TextColumn FROM my_table;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...