Mysql Помогите разобраться в чем проблема mysql функции

Marinelka

Новичок
Создаю функцию, которая по личному коду, состоящая из 11 символов, будет выводить дату и год рождения.
например из кода 48503152239- 85 это год рождения,15 03 дата рождения

Пишу такую функцию
Код:
CREATE FUNCTION data_rozdenia(@isik CHAR(11)) RETURNS datetime  AS
BEGIN
  DECLARE @date as datetime
  SET @date=convert(datetime,SUBSTRING(@isik ,2 , 2)+'.'+SUBSTRING(@isik ,4 , 2)+'.'+SUBSTRING(@isik ,6 , 2))
RETURN @date
END
функцию создает..
пытаюсь проверить
Код:
SELECT data_rozdenija('48503152239');
выдает ошибку 'data_rozdenija' is not a recognized built-in function name.

Или я вызываю неверно?
 

riff

Новичок
А зачем тебе эта функция в mysql? почему её не написать на человеческом языке php?
 
Последнее редактирование:

riff

Новичок
Как смог вспомнил, но я в них не очень.
Код:
-- drop function aaa;
DELIMITER $$
CREATE FUNCTION aaa(isik CHAR(11))
RETURNS date
BEGIN
  DECLARE d date;
  SET d= convert(concat(SUBSTRING(isik ,2 , 2),'-',SUBSTRING(isik ,4 , 2),'-',SUBSTRING(isik ,6 , 2)), date);
  RETURN d;
END;
$$
DELIMITER ;


SELECT aaa('48503152239');
И кстати, а как ты определила, что "функция создаётся"? Твой код выдавал ошибку.
 
Последнее редактирование:

Marinelka

Новичок
Как смог вспомнил, но я в них не очень.
Код:
-- drop function aaa;
DELIMITER $$
CREATE FUNCTION aaa(isik CHAR(11))
RETURNS date
BEGIN
  DECLARE d date;
  SET d= convert(concat(SUBSTRING(isik ,2 , 2),'-',SUBSTRING(isik ,4 , 2),'-',SUBSTRING(isik ,6 , 2)), date);
  RETURN d;
END;
$$
DELIMITER ;


SELECT aaa('48503152239');
И кстати, а как ты определила, что "функция создаётся"? Твой код выдавал ошибку.
у вас функция на postgre,а я в mysql

у меня ошибку выдает только при проверке.. а сама функция создалась
 
Сверху