當前位置:首頁 » 編程語言 » sql不足位數前加零
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql不足位數前加零

發布時間: 2022-10-08 11:57:54

❶ 一個sql函數名,如果字元串不夠位數的話就在前面加上指定位數指定字元

select replace(space(指定位數-len('欄位')),space(1),'補位字元')+ltrim(str('欄位'))這個 你拿去改對應就ok了的

❷ sql語句問題 在一組數字前面加一個0

如果該列是char或者varchar類型 直接:
update 表名
set 列名='0'+列名

就可以.

如果該列是數值型,可以用

update 表名
set 列名='0'+ltrim(rtrim(str(列名)))

❸ 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 不夠七位數 在左側自動補零,怎麼實現

您好:

跟您一個參考資料

第一種方法:
right('00000'+cast(@countasvarchar),5)
其中'00000'的個數為right函數的最後參數,例如這里是5,所以有5個0
@count就是被格式化的正整數
例如:
1、selectright('00000'+cast(dense_rank()over(orderbyzsbh)asVARCHAR(20)),5)
2、declare@countint
set@count=0
while(@count<1000)
begin
printright('00000'+cast(@countasvarchar),5)
set@count=@count+1
end
第二種方法:使用REPLICATE函數,將字串值重復指定的次數。例如:
REPLICATE('重復',3)輸出結果為:重復重復重復
【值得注意的是當integer_expression值為負值,則返回NULL】
因此,補0操作可如下實現:
SELECTREPLICATE('0',5-len('9'))+'9'--左邊補0,如00009
SELECT'9'+REPLICATE('0',5-len('9'))--右邊補0,如90000
第三種方法:使用stuff函數,刪除指定長度的字元,並在指定的起點處插入另一組字元。例如:
第一個字元串abcdef中刪除從第2個位置(字元b)開始的三個字元,然後在刪除的起始位置插入第二個字元串,從而創建並返回一個字元串。
SELECTSTUFF('abcdef',2,3,'ijklmn')

輸出結果為:

aijklmnef。
因此補0操作可如下實現:
selectstuff('00000',len('00000')-len('123')+1,len('123'),'123')

❺ 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中如何在插入數時不足位數前加0

你好!
不足位數前加0,位數是幾位啊,我就認為是5位了哦,插入的數據為number
select
right('00000'+convert(varchar,number),5)
希望對你有所幫助,望採納。

❼ 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 server怎麼把inFileIndex列通過update更新成4位,不足前面補零。 例如:0049 0115 0113 0001 ......

首先保證inFileIndex要為字元類型,不能是數字類型,否則更新不進去。

update表名setinFileIndex=right('000'+inFileIndex,4)


更新前可以先查詢看看結果是否正確

selectright('000'+inFileIndex,4)from表名

❾ 在SQL資料庫中怎樣讓編號從6位數開始,而且不足6位就在前面補0

SQL本身難以處理,應該在應用程序寫入/讀取的時候進行格式化

insert 或者 select 的時候對編號欄位格式化format(編號,"000000")

❿ sql 怎麼判斷一個欄位是六位如果不足六位在前補零

sqlserver: select right(cast('0000000000'+rtrim(欄位) as varchar(20)),7) oralce: select lpad(欄位, 7 , '0') from al