oracle函数在mysql用

-- ----------------------------
-- Function structure for add_months
-- ----------------------------
DROP FUNCTION IF EXISTS `add_months`;
DELIMITER ;;
CREATE DEFINER=`root`@`%` FUNCTION `add_months`(in_string VARCHAR (255),
    in_string_month VARCHAR (255)) RETURNS varchar(255) CHARSET utf8
BEGIN

RETURN DATE_ADD(in_string, interval in_string_month month);
END
;;
DELIMITER ;

-- ----------------------------
-- Function structure for decodeo
-- ----------------------------
DROP FUNCTION IF EXISTS `decodeo`;
DELIMITER ;;
CREATE DEFINER=`root`@`%` FUNCTION `decodeo`(a    VARCHAR(255),
 b VARCHAR(255),c  VARCHAR(255),d  VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
BEGIN
      
    
      RETURN if(a=b,c,d);
    
    END
;;
DELIMITER ;

-- ----------------------------
-- Function structure for nvl
-- ----------------------------
DROP FUNCTION IF EXISTS `nvl`;
DELIMITER ;;
CREATE DEFINER=`root`@`%` FUNCTION `nvl`(
    in_string_one VARCHAR (255),
in_string_two VARCHAR (255)
) RETURNS varchar(255) CHARSET utf8
BEGIN

RETURN IFNULL(in_string_one,in_string_two);
END
;;
DELIMITER ;

-- ----------------------------
-- Function structure for substr
-- ----------------------------
DROP FUNCTION IF EXISTS `substr`;
DELIMITER ;;
CREATE DEFINER=`root`@`%` FUNCTION `substr`(
    in_string VARCHAR (255),
    in_string_one VARCHAR (255),
in_string_two VARCHAR (255)
) RETURNS varchar(255) CHARSET utf8
BEGIN

RETURN substring(in_string,in_string_one,in_string_two);
END
;;
DELIMITER ;

-- ----------------------------
-- Function structure for to_char
-- ----------------------------
DROP FUNCTION IF EXISTS `to_char`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` FUNCTION `to_char`(in_string VARCHAR (255),
    in_find_str VARCHAR (255)) RETURNS varchar(255) CHARSET utf8
BEGIN
DECLARE returnValue VARCHAR(255);
SET returnValue = lower(in_find_str);
IF LOCATE('yyyy', returnValue) > 0 THEN
    select REPLACE (returnValue, 'yyyy', '%Y') into returnValue;
end if;
IF LOCATE('mm', returnValue) > 0 THEN
    select REPLACE (returnValue, 'mm', '%m') into returnValue;
end if;

if
    LOCATE('dd', returnValue) > 0 THEN
        select REPLACE (returnValue, 'dd', '%d') into returnValue;
end if;

if
    LOCATE('hh24:mi:ss', returnValue) > 0 THEN
        select REPLACE (returnValue, 'hh24:mi:ss', '%H:%i:%s') into returnValue;

end if;

if
    LOCATE('W', returnValue) > 0 THEN
    set @d=in_string;
    RETURN weekofyear(@d)-weekofyear(@d-interval day(@d)-1 day)+1;

end if;

RETURN date_format(in_string,returnValue);
END
;;
DELIMITER ;

-- ----------------------------
-- Function structure for to_date
-- ----------------------------
DROP FUNCTION IF EXISTS `to_date`;
DELIMITER ;;
CREATE DEFINER=`root`@`%` FUNCTION `to_date`(in_string VARCHAR (255),
    in_find_str VARCHAR (255)) RETURNS varchar(255) CHARSET utf8
BEGIN
DECLARE returnValue VARCHAR(255);
SET returnValue = lower(in_find_str);
IF LOCATE('yyyy', returnValue) > 0 THEN
    select REPLACE (returnValue, 'yyyy', '%Y') into returnValue;
end if;
IF LOCATE('mm', returnValue) > 0 THEN
    select REPLACE (returnValue, 'mm', '%m') into returnValue;
end if;

if
    LOCATE('dd', returnValue) > 0 THEN
        select REPLACE (returnValue, 'dd', '%d') into returnValue;
end if;

if
    LOCATE('hh24:mi:ss', returnValue) > 0 THEN
        select REPLACE (returnValue, 'hh24:mi:ss', '%H:%i:%s') into returnValue;

end if;


RETURN STR_TO_DATE(in_string,returnValue);
END
;;
DELIMITER ;

转载于:https://www.cnblogs.com/xzhg/p/6473734.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值