mysql 排序1.1.1_mysql中字符串1.1/1.2/1.2.2/1.2.5排序问题

本文介绍了如何创建一个名为`split_pid`的SQL查询函数,该函数用于将字符串按指定分隔符拆分。在示例中,使用该函数对`jyxm`表中的`bz`字段进行处理,通过`tid`筛选数据并依据处理后的简称`tt`进行升序排序。运行结果显示了经过函数处理和排序后的查询结果。
摘要由CSDN通过智能技术生成

1.创建查询函数:(split_pid为函数名称)

create function split_pid(str varchar (1000),delimiter varchar(1)) returns varchar(200)

begin

declare cur_str varchar(200);

declare sub_len int;

declare sub_str varchar(200);

declare ret_str varchar(200);

declare loop_count int;

set cur_str = str;

set sub_len = -1;

set ret_str = '';

set loop_count = 0;

repeat

set cur_str = substring(cur_str,sub_len + 2);

set sub_str = substring_index(cur_str,delimiter,1);

set sub_len = length(sub_str);

if sub_len !=0 then

set ret_str = concat(ret_str,lpad(sub_str,6,'0'));

end if;

set loop_count = loop_count + 1;

until sub_len = 0

end repeat;

return ret_str;

end;

2.函数创建成功,写SQL语句

jyxm :表名,tt为函数排序后的简称

SELECT jy.id as id ,jy.bz as bz, split(jy.bz,'.') as tt

FROM jyxm jy

WHERE jy.tid='FE74159EF93E9AD1DD56F5BE82253C1B'

ORDER BY tt ASC

3.运行结果如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值