sql 不够七位数 在左侧自动补零,怎么实现

 我来答
冰悦精彩
推荐于2018-03-01 · TA获得超过1628个赞
知道大有可为答主
回答量:1677
采纳率:0%
帮助的人:975万
展开全部

您好:

跟您一个参考资料

第一种方法:
right('00000'+cast(@count as varchar),5)
其中'00000'的个数为right函数的最后参数,例如这里是5,所以有5个0
@count就是被格式化的正整数
例如:
1、select right('00000'+cast(dense_rank() over( order by zsbh ) as VARCHAR(20)),5)
2、declare @count int
set @count = 0
while (@count < 1000)
begin
print right('00000'+cast(@count as varchar),5)
set @count = @count +1
end
第二种方法:使用REPLICATE函数,将字串值重复指定的次数。例如:
  REPLICATE('重复',3)  输出结果为:重复重复重复
     【 值得注意的是当 integer_expression 值为负值,则返回NULL 】
因此,补0操作可如下实现:
SELECT REPLICATE('0',5-len('9'))+'9' --左边补0, 如 00009
SELECT '9' + REPLICATE('0',5-len('9')) --右边补0,如 90000
第三种方法:使用stuff函数,删除指定长度的字符,并在指定的起点处插入另一组字符。例如:
第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串。
SELECT STUFF('abcdef', 2, 3, 'ijklmn')
 
输出结果为:
 
aijklmnef。
因此补0操作可如下实现:
select stuff('00000',len('00000')-len('123')+1,len('123'),'123')
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式