① sql语句问题 在一组数字前面加一个0
如果该列是char或者varchar类型 直接:
update 表名
set 列名='0'+列名
就可以.
如果该列是数值型,可以用
update 表名
set 列名='0'+ltrim(rtrim(str(列名)))
② 在pl/sql里向数字左边添加几个零用什么函数
左边补0,返回5位宽的字符
select lpad(to_char(123),5,'0') from al;
③ SQL SERVER自动在前面补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函数名,如果字符串不够位数的话就在前面加上指定位数指定字符
select replace(space(指定位数-len('字段')),space(1),'补位字符')+ltrim(str('字段'))这个 你拿去改对应就ok了的
⑤ 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位数不足补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 SERVER自动在后面补0满足8位数请问怎么写
如果是字符串的话,可以通过字符串连接的方式实现,由于SQL Server没有Oracle的lpad和rpad函数,可以使用REPLICATE函数代替
column_name+replicate('0',8-column_name.len()); 缺多少位就补上多少位,
⑧ SQL怎样在固定值后面补0
具体什么数据库?
以sqlserver,mysql,oracle各自为例:
sqlserver:
createtabletest
(点名varchar(20));
insertintotestvalues('HS901');
insertintotestvalues('HS9010');
insertintotestvalues('HS9010');
执行:
selectLEFT(点名+'00000000',8)fromtest
结果:
⑨ sql 不够七位数 在左侧自动补零,怎么实现
sqlserver:
select right(cast('0000000000'+rtrim(字段) as varchar(20)),7)
oralce:
select lpad(字段, 7 , '0') from al