对4的处理

博客围绕系统中数字不能出现4的需求展开,给出了问题的SQL表示,即若变量@i数字里有4则加1直到无4,还提供了相关解决办法,通过SQL函数处理使数字满足要求。

因为4在某些人看来是不吉祥的数字,
所以在我最近的一个系统里面的数字
根据客户的要求得不出现4。

下面是我要说的问题的SQL表示:
declare @i int
select @i = abc from table
如果该@i数字里面有一个数字是4,则加1,直到无4为止。
比如:
@i = 1,则@i =  2
@i = 4,则@i =  5
@i = 34,则@i =  35
@i = 343,则@i = 350

以下是相关的解决办法:
declare @i int
set @i=3434567
select left(@i, case charindex('4',@i)-1
                     when -1 then len(@i)
                     else charindex('4',@i)-1
                end)+
       case charindex('4',@i)-1
            when -1 then ''
            else '5'
       end+
       REPLICATE('0',len(@i)-case charindex('4',@i)-1
                                   when -1 then len(@i)
                                   else charindex('4',@i)  
                             end)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值