当前位置:首页 » 编程语言 » sql补0成3位
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql补0成3位

发布时间: 2023-08-14 09:08:30

‘壹’ 数据库字段补'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()); 缺多少位就补上多少位,