將一個數字例如33,或1使用t-sql語句轉換成033或001
以下是詳細分析:
1、select power(10,3)得到1000
2、select cast(1000+33 as varchar) 將1000轉換類型
3、select right(100033,3) 從右邊取3個字符得到033
將1格式化同上
select right(cast(power(10,3) as varchar)+33,3)
--用法例子
CREATE TABLE #T
(
val NVARCHAR(50) NOT NULL
)
INSERT INTO #t
SELECT '35040112' UNION ALL
SELECT '35040112' UNION ALL
SELECT '35040112' UNION ALL
SELECT '35040102' UNION ALL
SELECT '35040102' UNION ALL
SELECT '35040102' UNION ALL
SELECT '35040102' UNION ALL
SELECT '35040105' UNION ALL
SELECT '35040105' UNION ALL
SELECT '35040105' UNION ALL
SELECT '35040105' UNION ALL
SELECT '35040105' UNION ALL
SELECT '35040105' UNION ALL
SELECT '35040105' UNION ALL
SELECT '35040105' UNION ALL
SELECT '35040105' UNION ALL
SELECT '35040105' UNION ALL
SELECT '35040105'
SELECT val AS 查出的料號,val +'-'+ right(cast(power(10,2) as varchar)
+CAST(ROW_NUMBER() OVER (PARTITION BY val ORDER BY val) AS NVARCHAR),2) AS 需變成的這種 FROM #T
