❶ 一个sql函数名,如果字符串不够位数的话就在前面加上指定位数指定字符
select replace(space(指定位数-len('字段')),space(1),'补位字符')+ltrim(str('字段'))这个 你拿去改对应就ok了的
❷ sql语句问题 在一组数字前面加一个0
如果该列是char或者varchar类型 直接:
update 表名
set 列名='0'+列名
就可以.
如果该列是数值型,可以用
update 表名
set 列名='0'+ltrim(rtrim(str(列名)))
❸ sql位数不足补0
假设结果值用变量a表示,补位用b表示,需求结果用c表示
if len(a)=1 then
b="000"
elseif len(a)=2 then
b="00"
elseif len(a)=3 then
b="0"
else
b=""
end if
c=b&a
❹ sql 不够七位数 在左侧自动补零,怎么实现
您好:
跟您一个参考资料
第一种方法:
right('00000'+cast(@countasvarchar),5)
其中'00000'的个数为right函数的最后参数,例如这里是5,所以有5个0
@count就是被格式化的正整数
例如:
1、selectright('00000'+cast(dense_rank()over(orderbyzsbh)asVARCHAR(20)),5)
2、declare@countint
set@count=0
while(@count<1000)
begin
printright('00000'+cast(@countasvarchar),5)
set@count=@count+1
end
第二种方法:使用REPLICATE函数,将字串值重复指定的次数。例如:
REPLICATE('重复',3)输出结果为:重复重复重复
【值得注意的是当integer_expression值为负值,则返回NULL】
因此,补0操作可如下实现:
SELECTREPLICATE('0',5-len('9'))+'9'--左边补0,如00009
SELECT'9'+REPLICATE('0',5-len('9'))--右边补0,如90000
第三种方法:使用stuff函数,删除指定长度的字符,并在指定的起点处插入另一组字符。例如:
第一个字符串abcdef中删除从第2个位置(字符b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串。
SELECTSTUFF('abcdef',2,3,'ijklmn')
输出结果为:
aijklmnef。
因此补0操作可如下实现:
selectstuff('00000',len('00000')-len('123')+1,len('123'),'123')
❺ sql中不足六位的补零该怎么写
假设#a 表有字段 a char(10)
该代码即可实现该功能:
if exists(select a from #a where len(a)<=6)
begin
update #a set a=rtrim(cast(a as char(8)))+'000'
end
else if exists(select a from #a where len(a)<0)
begin
rollback transaction
end
else
begin
print '该数据已经有六位'
end
❻ sql中如何在插入数时不足位数前加0
你好!
不足位数前加0,位数是几位啊,我就认为是5位了哦,插入的数据为number
select
right('00000'+convert(varchar,number),5)
希望对你有所帮助,望采纳。
❼ SQL不够10位 补0 补到10位写何写
咱们来看:
cast('000000000'+convert(int,code)asvarchar(20))
首先:
convert(int,code) :你把code 转为 int
然后
'000000000'+convert(int,code)我估计sqlserver肯定把表达式作为数字相加了,那么0000...的相加就没有作用了。
最后
就不是你要的结果了。
大致应该这样:
SELECT
right(cast('000000000'+rtrim(code)asvarchar(20)),10),code,
id,pydate,isnull(lzdate,'9999-12-31'),0
FROMzlemployee
❽ sql server怎么把inFileIndex列通过update更新成4位,不足前面补零。 例如:0049 0115 0113 0001 ......
首先保证inFileIndex要为字符类型,不能是数字类型,否则更新不进去。
update表名setinFileIndex=right('000'+inFileIndex,4)
更新前可以先查询看看结果是否正确
selectright('000'+inFileIndex,4)from表名
❾ 在SQL数据库中怎样让编号从6位数开始,而且不足6位就在前面补0
SQL本身难以处理,应该在应用程序写入/读取的时候进行格式化
insert 或者 select 的时候对编号字段格式化format(编号,"000000")
❿ sql 怎么判断一个字段是六位如果不足六位在前补零
sqlserver: select right(cast('0000000000'+rtrim(字段) as varchar(20)),7) oralce: select lpad(字段, 7 , '0') from al