zoukankan      html  css  js  c++  java
  • SQL 给字符串补0

    第一种方法:

    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')

  • 相关阅读:
    ASP.NET中的参数与特殊类型和特性
    ASP.NET MVC概述及第一个MVC程序
    ASP.NET系统对象
    WCF学习——WCF简介(三)
    WCF学习——构建一个简单的WCF应用(二)
    WCF学习——构建一个简单的WCF应用(一)
    注入技术--修改pe文件导入表进行注入
    内存
    I/O
    进程
  • 原文地址:https://www.cnblogs.com/lgx5/p/9000893.html
Copyright © 2011-2022 走看看