天天看點

mysql自定義函數用if報1064_将mssql資料庫腳本的自定義函數,轉為MySQL時,出現1064錯誤,求大神解答...

sqlserver腳本:CREATEFUNCTION[dbo].[getUtcUnixTime](@utcDateTimedatetime)[email protected]@unixtime=DATEdiff(ss,convert(datetime,'01/01/197...

sqlserver腳本:

CREATE FUNCTION [dbo].[getUtcUnixTime] (@utcDateTime datetime)

RETURNS bigint

AS BEGIN

DECLARE @unixtime bigint

select @unixtime = DATEdiff(ss, convert(datetime, '01/01/1970 00:00:00 AM', 101), @utcDateTime)

RETURN(@unixtime)

END

我改的MySQL腳本:

CREATE FUNCTION getUtcUnixTime(utcDateTm datetime)

RETURNS bigint

BEGIN DECLARE unixtime bigint

select timestampdiff(second, date_format('1970-01-01 00:00:00', '%Y-%m-%d %H:%i:%S.%f'), utcDateTm) as unixtime

RETURN (unixtime);

END

錯誤: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 'select timestampdiff(second, date_format('1970-01-01 00:00:00', '%Y-%m-%d %H:%i:' at line 4

單獨運作select那句,是可以執行成功的,是以不懂怎麼搞???

展開