这是该字符串当前外观的2个示例:
6731-121-1
9552-3-1
这就是我想让他们看起来像的样子
0006731-121-1
0009552-003-1
因此,我希望在第一个“-”之前用7个零填充,然后在第一个和第二个“-”之间用3个零填充。
在SQL SELECT语句中完成此操作的最佳方法是什么。
SELECT RIGHT('0000000'
+ ISNULL(
LEFT(OE.exception_id, CHARINDEX('-', OE.exception_id)
- 1) ,
''
) ,7) + '-'
+ SUBSTRING(OE.exception_id, CHARINDEX('-', ( OE.exception_id )), 10) exception_id
ParseName()可能是这里的一个选项
例
Declare @YourTable Table ([YourCol] varchar(50))
Insert Into @YourTable Values
('6731-121-1')
,('9552-3-1')
Select *
,NewVal = right('0000000'+parsename(replace(YourCol,'-','.'),3),7)
+'-'
+right('000'+parsename(replace(YourCol,'-','.'),2),3)
+'-'
+parsename(replace(YourCol,'-','.'),1)
From @YourTable
退货
YourCol NewVal
6731-121-1 0006731-121-1
9552-3-1 0009552-003-1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句