sql位數不足補0
① sql怎樣在固定值後面補0
具體什麼資料庫?
以sqlserver,mysql,oracle各自為例:
sqlserver:
createtabletest
(點名varchar(20));
insertintotestvalues('HS901');
insertintotestvalues('HS9010');
insertintotestvalues('HS9010');
執行:
selectLEFT(點名+'00000000',8)fromtest
結果:
② sql server 保留2位小數,如果整數 後面補0
1、創建測試表,
create table test_num(id number, value number);
③ 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中不足六位的補零該怎麼寫
假設#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 不夠七位數 在左側自動補零,怎麼實現
sqlserver:
select right(cast('0000000000'+rtrim(欄位) as varchar(20)),7)
oralce:
select lpad(欄位, 7 , '0') from al
⑥ sql數據補位
用lapd函數,左補零
用法
select LPAD(100,5,0) from al
100為欄位名,5為補完後的長度,0為補充的字元
⑦ 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資料庫中怎樣讓編號從6位數開始,而且不足6位就在前面補0
SQL本身難以處理,應該在應用程序寫入/讀取的時候進行格式化
insert 或者 select 的時候對編號欄位格式化format(編號,"000000")
⑨ sql中如何在插入數時不足位數前加0
你好!
不足位數前加0,位數是幾位啊,我就認為是5位了哦,插入的數據為number
select
right('00000'+convert(varchar,number),5)
希望對你有所幫助,望採納。
⑩ sql server怎麼把inFileIndex列通過update更新成4位,不足前面補零。 例如:0049 0115 0113 0001 ......
首先保證inFileIndex要為字元類型,不能是數字類型,否則更新不進去。
update表名setinFileIndex=right('000'+inFileIndex,4)
更新前可以先查詢看看結果是否正確
selectright('000'+inFileIndex,4)from表名