标签归档:right应用

mssql sqlserver补齐”数据表中位数”的方法分享


摘要:
下文讲述sql脚本补齐位数的方法分享,如下所示:



实现思路:
1.使用replicate快速生成重复数据
2.使用right从右边取相应的位置

例:
将下列的数据全部转换为5位数,如果位数不足时,在左边补零,如下:

create table [maomao365.com]
(keyId int identity,
 info varchar(6)
 )
 go
 ---生成基础数据
 insert into [maomao365.com]
 (info)values(123),(456),
 (789),(12345),(121212),(1222),
 (98765),(234),(8970),(33333) 

 go
  select   keyId,info,
  right(replicate('0',6)+ltrim(info),6)
  as [位数补齐] from [maomao365.com]
 go
 truncate table [maomao365.com]
 drop     table [maomao365.com]
mssql_sqlserver_补齐位数方法_9442

mssql_sqlserver_补齐位数方法_9442

mssql sqlserver 使用sql脚本 “转换整型为字符串时”不足位数时左边补0的方法分享


摘要:
下文讲述使用sql脚本转换整型,不足位数的处理方法,如下:
实验环境:sql server 2008 R2


实现思路:
先使用 指定位数的的0字符串和整型转换后的字符串进行叠加,然后使用right从右边取字符串,就可以达到位数不足补零的效果

例:对一个整型数字转换为一个8位的字符串,如果不足位数时,左边补零

  declare @a varchar(8) 
   set @a ='00000000'   ---定义一个8位的字符串
  
 declare @i int 
   set @i =188
  
  ---将188数字转换为一个8位字符串,如果不足位数时,左边补零
   
  select right(@a+cast(@i as varchar(10)),8)
  ----或-------
 select right(@a+convert(@i,varchar(10)),8) 

mssql sqlserver 将一个十进制数字转换为二进制,不足位数时,左边补零


摘要:
下文讲述sqlserver技巧,将十进制数字转换为二进制,当位数不足时,左边补零,如下所示:
实验环境:sql server 2008 R2


实现思路:
1.将十进制数值转换为二进制
2.将二进制位数不足时,左边补零


例:

     ----1.新建十进制转换为二进制的自定义函数
      create function fn__IntToBit(@t int)
/*
函数功能:十进制转换为二进制方法分享
*/
returns varchar(300)
as
begin

    declare @info varchar(300);
    set @info=''
    while (@t>0)
    begin
        select @info=cast(@t%2 as varchar)+@info,@t=@t/2
    end 

    return(@info)
end
go

 -----2.采用right对数值不足位数,进行补齐
 ---例:返回10的二进制, 不足8位,对其进行补零操作
   declare  @formatExtend varchar(10)
    set @formatExtend  ='00000000'

     set     @str = @formatExtend +dbo.fn__IntToBit(10)
    ---输出结果 
    select  right(@str,10); --从右边获取8个字符串