‘壹’ 数据库字段补'0'
写个函数:
CREATE Function xfn_UpdateZero(@Str VARCHAR(20),@Len INT)
RETURNS VARCHAR(20)
AS
BEGIN
DECLARE @ALEN INT
SET @ALEN=0
WHILE @ALEN<@Len-1
BEGIN
SET @Str='0'+@Str
SET @ALEN=@ALEN+1
END
RETURN @Str
END
然后更新字段值:
update table_name set 字段名=dbo.xfn_UpdateZero(字段名,5)
这样这个字段的所有数据长度都变成了5
(PS:前提是这个字段中不可以有值的长度大于五位,否则这个值不会更新)
‘贰’ 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怎样在固定值后面补0
具体什么数据库?
以sqlserver,mysql,oracle各自为例:
sqlserver:
createtabletest
(点名varchar(20));
insertintotestvalues('HS901');
insertintotestvalues('HS9010');
insertintotestvalues('HS9010');
执行:
selectLEFT(点名+'00000000',8)fromtest
结果:
‘肆’ 数据库里用sql语言更新字符串
update 目标表 set 时间 = substring(时间,1,len(时间)-2)+':'+substring(时间喊数,len(时间)-2,2)
数据这一字段都是3位数,如果像上面的6,23就要老启在前面补0,变成006,023保存。 这个暂没有侍渗如做出,待后补充。
insert 目标表 select * from 源表
‘伍’ 一个sql函数名,如果字符串不够位数的话就在前面加上指定位数指定字符
select replace(space(指定位数-len('字段')),space(1),'补位字符')+ltrim(str('字段'))这个 你拿去改对应就ok了的
‘陆’ sql数据补位
用lapd函数,左补零
用法
select LPAD(100,5,0) from al
100为字段名,5为补完后的长度,0为补充的字符
‘柒’ sql语句问题 在一组数字前面加一个0
如果该列是char或者varchar类型 直接:
update 表名
set 列名='0'+列名
就可以.
如果该列是数值型,可以用
update 表名
set 列名='0'+ltrim(rtrim(str(列名)))
‘捌’ SQL SERVER自动在后面补0满足8位数请问怎么写
如果是字符串的话,可以通过字符串连接的方式实现,由于SQL Server没有Oracle的lpad和rpad函数,可以使用REPLICATE函数代替
column_name+replicate('0',8-column_name.len()); 缺多少位就补上多少位,