mysql中自定义函数to_char如何写

因为 Oracle 的 TO_CHAR 是可以把 日期型的, 数值型的, 转换为 字符类型。你这个MySQL 下的 to_char , 只要转换日期呢? 还是转换 数字?
mysql中自定义函数to_char如何写
MySQL 自己不带有 to_char 这个函数的。
你要模仿 Oracle, 写一个 MySQL 的 TO_CHAR 函数?
这个恐怕有点麻烦。
因为 Oracle 的 TO_CHAR 是可以把 日期型的, 数值型的, 转换为 字符类型。

你这个MySQL 下的 to_char , 只要转换日期呢? 还是转换 数字?2011-08-17
CREATE FUNCTION `TO_CHAR`(mydate datetime,FORMAT varchar(30)) RETURNS varchar(255) CHARSET utf8
SQL SECURITY INVOKER
BEGIN
DECLARE V_RETURN VARCHAR(40);

IF upper(format) = 'YYYY' THEN
SET V_RETURN = date_format(mydate,'%Y');
ELSEIF upper(format) = 'YY' THEN
SET V_RETURN = date_format(mydate,'%y');
ELSEIF upper(format) = 'MM' THEN
SET V_RETURN = date_format(mydate,'%m');
ELSEIF upper(format) = 'YYYYMM' THEN
SET V_RETURN = date_format(mydate,'%Y%m');
ELSEIF upper(format) = 'YYYY-MM' THEN
SET V_RETURN = date_format(mydate,'%Y-%m');
ELSEIF upper(format) = 'YYYYMMDD' THEN
SET V_RETURN = date_format(mydate,'%Y%m%d');
ELSEIF upper(format) = 'YYYY-MM-DD' THEN
SET V_RETURN = date_format(mydate,'%Y-%m-%d');
ELSEIF upper(format) = 'YYYY-MM-DD hh24:mi:ss' THEN
SET V_RETURN = date_format(mydate,'%Y-%m-%d %H:%i:%s');
ELSEIF upper(format) = 'yyyy"年"MM"月"dd"日"' THEN
SET V_RETURN = CONCAT(date_format(mydate,'%Y'),'年',date_format(mydate,'%m'),'月',date_format(mydate,'%d'),'日');
ELSE
SET V_RETURN = date_format(mydate,'%Y-%m-%d');
END IF;

RETURN V_RETURN;

END2022-01-12
to_char(时间字段,'yyyy-mm-dd hh24:mi:ss')2011-08-17
mengvlog 阅读 9 次 更新于 2025-07-20 23:56:17 我来答关注问题0
  •  wangzhiqing999 to_char 对应到MySQL数据的时间函数是什么 !!!!那个大侠知道!!!

    to_date('" +Time + " ', 'yyyy-mm-dd hh24:mi:ss')里面的Time代表你传递的时间参数,也可以直接写成时间,后面是时间的格式,比如2011-08-16 15:08:30,当然你也可以改成你喜欢的时间格式。只需要把后面的格式改下就OK。

  • 1、MySQL格式函数PERIOD_ADD:可以使用PERIOD_ADD函数对MySQL中的时间格式进行转换,如下面的代码所示:一段SQL:SELECT PERIOD_ADD(2020,1);结果:2021-02 2、MySQL格式函数STR_TO_DATE:可以使用STR_TO_DATE函数将字符串转换为日期格式,如下所示:一段SQL:SELECT STR_TO_DATE(’04_06_2019...

  • 如果函数没有被正确创建,就无法被调用。请检查函数是否存在,以及函数名称、参数等是否正确。b) 函数所在的数据库没有被选中 在调用函数之前,需要确保所在的数据库已经被选中。可以使用以下命令进行选择:USE database_name;c) 函数的权限被限制 有时候,MySQL的安全机制会限制某些用户对某些函数的访问权...

  • SET result = 1;-- 已存在 SELECT result;ELSE IF @c_count_a > 0 THEN IF (TO_DAYS(@endate_a) - TO_DAYS(NOW())) > 0 THEN ...上述代码段中,我们首先通过SELECT语句查询t_voucher表中的相关信息,并将结果存储到变量中。接着,我们设置autocommit为0,以便进行事务管理。然后,通过...

  •  誉祥祥知识 postgres 函数split_part, replace, unnest, string_to_array 函数使用

    PostgreSQL 中 split_part、replace、unnest 和 string_to_array 函数的使用1. split_part 函数 功能:按指定字符分割字符串,并获取指定位置的部分。语法:split_part示例:select split_part; 输出结果为:ccc。2. replace 函数 功能:在字符串中替换指定的字符或子串。语法:replace示例:select replac...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部