私はMSSQLで作成した関数をMYSQLに変換しようとしています。私はそれがMSSQLで書かれている方法:MsSQLからMySQLへの関数変換
ALTER function FormatDate(@date datetime) returns varchar(10)
begin
declare @salida varchar(10)
if (@date != '') and (@date != '01/01/1900')
begin
declare @day varchar(2)
set @day = cast(day(@date) as varchar)
if len(@day) = 1
set @day = '0' + @day
declare @month varchar(2)
set @month = cast(month(@date) as varchar)
if len(@month) = 1
set @month = '0' + @month
select @salida = @month + '/' + @day + '/' + cast(year(@date) as varchar)
end
else
set @salida = null
return @salida
end
私はその機能をMYSQL関数に変換しようとしています。私はこれを試みた:
Delimiter $$
create function FormatDate(tiempo datetime)
RETURNS varchar(10)
READS SQL DATA
BEGIN
declare salida varchar(10);
if ((tiempo != '') and (tiempo != '01/01/1900')) then
BEGIN
declare dia varchar(2);
set dia = cast(day(tiempo) as varchar);
if len(dia) = 1 then
set dia = '0' + dia;
END IF;
declare mes varchar(2);
set mes = cast(month(tiempo) as varchar);
if len(mes) = 1 then
set mes = '0' + mes;
END IF;
select salida = mes + '/' + dia + '/' + cast(year(tiempo) as varchar);
else
set salida = null;
END; End if;
return (salida);
END $$
Delimiter ;
私はそのコードを実行しようとするとエラーが発生します。
これは私が取得していますエラーです:
Error Code: 1064. You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'varchar);
if len(dia) = 1 then
' at line 14
- は、誰かが私はMYSQL関数にこのMSSQL機能を変換する助けてくださいことはできますか?
これは、あなたのより良いフィードバックを得るのに役立ちます。 – takeshin
私はdownvotesを取得しない、私に合法的な質問のように思われる – DForck42