实现SQL SERVER 下的PadLeft函数
??????例如 在做自動編號這樣使用
???? int nextID=da.GetMaxNum()+1;
???? this.txtCode.Text = nextID.ToString().PadLeft(6, '0');
??????今天客戶想要在用戶表里加個工號字段,這個字段是自動生成的,這個很容易實現。但是用戶表里已經有300多條記錄,需要編號,手工錄入
顯然太麻煩,實施人員也會感覺枯燥乏味,我就想在數據庫里有寫段腳本自動編號,發現數據里沒提供類似于右對齊的函數。
于是左查右看,就寫了這么個自定義函數
--功能:右對齊的字符,在左邊用指定的字符填充以達到指定的總長度。
--@num:原始字符@paddingChar:填充字符 @totalWidth:結果字符串中的字符數
--create by guoliang 2009/06/12
create function PadLeft(@num varchar(16),@paddingChar char(1),@totalWidth int)
returns varchar(16) as
begin
declare @curStr varchar(16)
select @curStr = isnull(replicate(@paddingChar,@totalWidth - len(isnull(@num ,0))), '') + @num
return @curStr
end
--測試函數:
SELECT dbo.PadLeft('8', '0', 6)
----------------
000008
(所影響的行數為 1 行)
然后用游標一行一行取出來,修改工號字段就ok了.
總結
以上是生活随笔為你收集整理的实现SQL SERVER 下的PadLeft函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux达人养成计划学习笔记(四)——
- 下一篇: 回首2018 | 分析型数据库Analy