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

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

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

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

之后运行

select fun_getDate(now());

 

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

 1 delimiter $$
 2 drop function if exists fun_substring$$
 3 create function fun_substring(str varchar(200),num int) returns varchar(200)
 4 begin 
 5     if char_length(str)<=num
 6     then
 7     return str;
 8     elseif char_length(str)>num
 9     then 
10     return concat(left(str,num),'......');
11     end if; 
12 end $$
13 delimiter;

之后运行

select fun_substring('1',2);

结果如下

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

select fun_substring('123456789',2);

结果如下

posted on 2017-04-13 23:05  wangtianze  阅读(915)  评论(0编辑  收藏  举报

导航