天天看点

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那句,是可以执行成功的,所以不懂怎么搞???

展开