『壹』 資料庫欄位補'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()); 缺多少位就補上多少位,