mySQL中 实现Oracle 的to_char函数


mySQL中 实现Oracle 的to_char函数,应该可以实现80%的兼容

REPLACE函数是区分大小的
DROP FUNCTION IF EXISTS `to_char`;

CREATE DEFINER = `root`@`localhost` FUNCTION `to_char`(`fdate` datetime,`format` varchar(255))
 RETURNS varchar(255)
BEGIN
	
  DECLARE v_format VARCHAR(100);
	if fdate is null THEN
		RETURN '';
	end if;
	if format is null THEN
		RETURN '';
	end if;

SET v_format=format;
SET v_format = REPLACE(v_format,'hh24','%H');
SET v_format = REPLACE(v_format,'HH24','%H');
SET v_format = REPLACE(v_format,'hh','%H');
SET v_format = REPLACE(v_format,'HH','%H');
SET v_format = REPLACE(v_format,'mi','%i');
SET v_format = REPLACE(v_format,'MI','%i');
SET v_format = REPLACE(v_format,'mI','%i');
SET v_format = REPLACE(v_format,'Mi','%i');
SET v_format = REPLACE(v_format,'ss','%s');
SET v_format = REPLACE(v_format,'SS','%s');
SET v_format = REPLACE(v_format,'YYYY','%Y');
SET v_format = REPLACE(v_format,'yyyy','%Y');
SET v_format = REPLACE(v_format,'MM','%m');
SET v_format = REPLACE(v_format,'mm','%m');
SET v_format = REPLACE(v_format,'DD','%d');
SET v_format = REPLACE(v_format,'dd','%d');

	RETURN DATE_FORMAT(fdate, v_format);
END;

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM