IT技术博客大学习 共学习 共进步

ORACLE的几个函数在MYSQL里面的简单实现

上帝,咱们不见不散!-51CTO技术博客 2012-08-28 23:13:13 浏览 2,021 次

 最忌在做ORACLE到MYSQL得迁移,以下我写了三个简单的MYSQL里面米有的函数。 供大家参考。 

判断是否为时间?
DELIMITER $$  USE `ytt`$$  DROP FUNCTION IF EXISTS `is_date`$$  CREATE DEFINER=`root`@`localhost` FUNCTION `is_date`( f_in CHAR(19)) RETURNS TINYINT(4) BEGIN   -- Created by david.yang 2012/8/9.   IF UNIX_TIMESTAMP(f_in) = 0 THEN     RETURN 0;   ELSE     RETURN 1;   END IF; END$$  DELIMITER ; 
判断是否为数字?
DELIMITER $$  USE `ytt`$$  DROP FUNCTION IF EXISTS `is_number`$$  CREATE DEFINER=`root`@`localhost` FUNCTION `is_number`(     f_in VARCHAR(255)) RETURNS TINYINT(4) label1:BEGIN     -- Created by david.yang 2012/8/9.     DECLARE cnt INT UNSIGNED DEFAULT 0;     DECLARE i INT UNSIGNED DEFAULT 1;     DECLARE j INT UNSIGNED DEFAULT 0;     SET cnt = LENGTH(f_in);     loop1:WHILE i < cnt     DO       SET j = ASCII(SUBSTR(f_in,i,1));       IF  j < 48 OR j > 57 THEN         RETURN 0;         LEAVE label1;       END IF;       SET i = i + 1;     END WHILE loop1;     RETURN 1;   END$$  DELIMITER ; 
ORACLE to_date 函数的MYSQL实现。
DELIMITER $$  USE `ytt`$$  DROP FUNCTION IF EXISTS `to_date`$$  CREATE DEFINER=`root`@`localhost` FUNCTION `to_date`(     f_date VARCHAR(30), f_format VARCHAR(30)     ) RETURNS VARCHAR(30) CHARSET utf8 BEGIN     -- '20-08-2011 22:55:02', 'dd-mm-yyyy hh24:mi:ss'     -- '02-11-2011', 'dd-mm-yyyy'     -- Created by david.yang 2012/8/9.     DECLARE i_year CHAR(4);     DECLARE i_month CHAR(2);     DECLARE i_day CHAR(2);     DECLARE i_time CHAR(8);     SET i_year = SUBSTR(f_date,7,4);     SET i_month = SUBSTR(f_date,4,2);     SET i_day = LEFT(f_date,2);          IF LENGTH(f_date) = 10 THEN       SET i_time = '';     ELSE       SET i_time = RIGHT(f_date,8);     END IF;     RETURN CONCAT(i_year,'-',i_month,'-',i_day,' ',i_time);     END$$  DELIMITER ; 

建议继续学习

  1. 不定参数的应用 function(fmt, …) (阅读 4,742)
  2. 函数式编程 (阅读 4,584)
  3. JavaScript的5种调用函数的方法 (阅读 4,444)
  4. C 语言中统一的函数指针 (阅读 4,187)
  5. C语言函数实现的另类方法 (阅读 3,902)
  6. 关于在函数调用时传递string引用的必要性 (阅读 3,881)
  7. 深入理解PHP之匿名函数 (阅读 3,562)
  8. 情人节特献:有心之函数必然就有分手函数 (阅读 3,361)
  9. MySQL 内部函数简介 (阅读 3,321)
  10. JavaScript 函数、作用域和继承 (阅读 3,283)