MySQL两个最简单的delimiter的使用demo

时间:2025-01-20 16:04:26

今天复习MySQL,使用的工具是Navicat for MySQL,写了两个简单的delimiter的demo。

第一个,获取当前时间的年月日时分秒格式的时间:

 delimiter $$
drop function if exists fun_getDate$$
create function fun_getDate(fdate datetime) returns varchar(100)
begin
declare result varchar(100) default '';
set result=date_format(fdate,'%Y年%m月%d日%h时%i分%s秒');
return result;
end $$
delimiter;

之后运行

select fun_getDate(now());

MySQL两个最简单的delimiter的使用demo

第二个,截取字符串的函数,参数为(字符串,数字num),将字符串保留前num位,如果我们的个数没有num个,就直接返回,如果大于num个,我们就加省略号:

 delimiter $$
drop function if exists fun_substring$$
create function fun_substring(str varchar(200),num int) returns varchar(200)
begin
if char_length(str)<=num
then
return str;
elseif char_length(str)>num
then
return concat(left(str,num),'......');
end if;
end $$
delimiter;

之后运行

select fun_substring('',2);

结果如下

MySQL两个最简单的delimiter的使用demo

之后试了下长一些的字符串

select fun_substring('',2);

结果如下

MySQL两个最简单的delimiter的使用demo