① 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