sql語句 實現自動填補字符 類似PadLeft

本文介绍了一种使用SQL Server自定义函数PadLeft的方法,该方法用于自动填充gen07欄位,使其根据记录数量递增并保持固定长度。通过创建自定义函数并迭代更新现有数据,实现了自动化填充gen07欄位的目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近公司gen_file新增一個gen07欄位,gen07是根據記錄數量自動遞增的,因為原系統中已有2000多筆數據,所以基本丟棄收工輸入的過程,於是Google了下,便有了以下代碼:

 

--自定函數
--
CREATE FUNCTION [dbo].[PadLeft]  
--( 
--
--    @Source nvarchar(30),       -- 原始字串 
--    @PaddingChar nchar(1),      -- 填補字元 
--    @TotalWidth tinyint         -- 總長度 

--) 
--
--RETURNS nvarchar(285) 
--AS
--BEGIN
--    DECLARE @Result nvarchar(285) 
--    SELECT @Result = REPLICATE(@PaddingChar, @TotalWidth - LEN(@Source)) + @Source 
--    RETURN @Result 
--
--END

--更新每個欄位
--Declare @i int
--set @i=000002
--declare @str varchar(6)
--Declare @gen01 varchar(7)
--Declare gen01s Cursor For select gen01 from gen_file
--open gen01s
--fetch NEXT from gen01s into @gen01
--while @@Fetch_Status=0
--begin
--set @str=@i
--update gen_file set gen07=dbo.PadLeft(@str,'0',6) where
gen01=@gen01
--set @i=@i+1
--fetch next from gen01s into @gen01
--end
--close gen01s
--Deallocate gen01s

--最後刪除自定函數

--drop function dbo.PadLeft

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值