Ваша проблема в том, что в вашем операторе SELECT
нет предложения INTO
, поэтому он пытается вернуть набор результатов из функции. Вы можете изменить это на:
SELECT STR_TO_DATE(CDATE,'%Y%m%d %h%i') INTO CDATE;
Но вы могли бы также выполнить все вычисления в выражении RETURN
:
CREATE FUNCTION `ConvertDate2`(StringDate varchar(15))
RETURNS datetime
RETURN STR_TO_DATE(StringDate,'%Y%m%d %h%i');