mysql自定义函数_MYSQl自定义函数

DELIMITER //

CREATE FUNCTION StrToTime(dateformat varchar(50),timeslot varchar(50),mark int)

Returns varchar(50)

Begin declare year1 varchar(50); declare month1 varchar(50); declare day1 varchar(50); declare hour1 varchar(50); declare minminute varchar(50); declare minute1 varchar(50); declare str varchar(50); declare returnstr varchar(50); declare lennum int; select lennum=len(dateformat)-len(replace(dateformat,'-','')); set year1 =left(dateformat,charindex('-',dateformat)-1); set str = stuff(dateformat,1,charindex('-',dateformat),''); set returnstr='';

if ennum =3 and timeslot ='0' then set month1= left(str,charindex('-',str)-1); set str = stuff(str,1,charindex('-',str),''); set day1 = left(str,charindex('-',str)-1); set hour1 = stuff(str,1,charindex('-',str),''); if mark =0 then set returnstr = year1 + '-' + month1 + '-' + day1 + ' ' + hour1 + ':00:00'; else set returnstr = year1 + '-' + month1 + '-' + day1 + ' ' + hour1 + ':59:59'; end if; end if; /********************** --年-月-日-时(有分钟) **********************/ if lennum =3 and timeslot !='0' then set month1 = left(str,charindex('-',str)-1); set str = stuff(str,1,charindex('-',str),''); set day1 = left(str,charindex('-',str)-1); set hour1 = stuff(str,1,charindex('-',str),''); /** set minminute =convert(varchar,convert(int,left(timeslot,instr('-',timeslot)-1)));****/ set minminute =convert(convert(left(timeslot,instr('-',timeslot)-1),SIGNED),char);

if minminute='0' then set minminute ='00'; else set minute1 = convert(reverse(left(reverse(timeslot),charindex('-',reverse(timeslot))-1))-1,char); if mark =0 then set returnstr = year1 + '-' + month1 + '-' + day1 + ' ' + hour1 +':'+minminute+':00';

else set returnstr = year1 + '-' + month1 + '-' + day1+ ' ' + hour1 +':'+minute1+ ':59'; end if; end if; /** 年-月-日 **/ if lennum =2 then set month1 = left(str,charindex('-',str)-1); set str = stuff(str,1,charindex('-',str),''); set day1 = str; if mark =0 then

set returnstr = year1 + '-' + month1 + '-' + day1 + ' ' + '00:00:00'; else

set returnstr = year1 + '-' + month1 + '-' + day1 + ' ' +'23:59:59'; end if; end if; /** 年-月**/ if lennum =1 then

set month1 = str; if month1='12' then

set day1=31;

else

select day1= datediff(convert(year1+'-'+month1+'-'+'1',datetime),convert(year1+'-'+convert(convert(month1,signed)+1,char)+'-'+'1',datetime)) ; end if; if mark =0 then

set returnstr = dateformat + '-' + '1' + ' ' + '00:00:00';

else

set returnstr = dateformat + '-' + day1 + ' ' + '23:59:59'; end if; end if;

Return returnstr;End // DELIMITER ;

提示错误:谁帮忙看看  right syntax  to use  near '//' at line 90.

最好是  复制下来 执行下. 新人刚接触 mysql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值