mysql只保留数字排序

创建函数,复制下面代码

CREATE FUNCTION GetNum (Varstring varchar(50))
RETURNS varchar(30) 
BEGIN 
DECLARE v_length INT DEFAULT 0; 
DECLARE v_Tmp varchar(50) default ''; 
set v_length=CHAR_LENGTH(Varstring); 
WHILE v_length > 0 DO 
IF (ASCII(mid(Varstring,v_length,1))>47 and ASCII(mid(Varstring,v_length,1))<58 ) THEN 
set v_Tmp=concat(v_Tmp,mid(Varstring,v_length,1)); 
END IF; 
SET v_length = v_length - 1; 
END WHILE; 
RETURN REVERSE(v_Tmp); 
END
中奥
CREATE DEFINER=`root`@`localhost` FUNCTION `GetNum`(Varstring varchar(50)) RETURNS varchar(30) CHARSET utf8mb4
BEGIN 
#排序树使用函数
DECLARE v_length INT DEFAULT 0; 
DECLARE v_Tmp varchar(50) default ''; 
set v_length=CHAR_LENGTH(Varstring); 
WHILE v_length > 0 DO 
IF (ASCII(mid(Varstring,v_length,1))>47 and ASCII(mid(Varstring,v_length,1))<58 ) THEN 
set v_Tmp=concat(v_Tmp,mid(Varstring,v_length,1)); 
END IF; 
SET v_length = v_length - 1; 
END WHILE; 
RETURN REVERSE(v_Tmp); 
END

保存

有可能保存报错

1418- This function has none of DETERMINISTIC,NO SQL,or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log bin trust function creators variable)

去修改数据库配置文件

/etc/my.cnf

在mysqld下加上log_bin_trust_function_creators=1

0846bae810384a7d9de0686999a1d0a2.png

 重新启动数据库生效

a407a27f83524d22989d0b6df98a0084.png

 使用

3ddc6ff04ab749cb80b6dee182cec4dd.png

 

10acfe64d87e4524a1a9a8cba79683b1.png

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大得369

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值