我有一个varchar类型的列,文本像20171126-401-9-4496.该字符串有4个部分,每个部分的长度固定:
第1节 - 8位数
第2节 - 4位数
第3节 - 2位数
第4节 - 4位数
我想用'0'填充字符串的第2和第3部分,使文本变得
20171126-0401-09-4496满足每个部分的固定长度要求.我试过SUBSTRING和CHARINDEX功能,但无法得到所需的结果.如何解决这个问题?
什么是PARSENAME黑客的完美时间!
SELECT PARSENAME(REPLACE(MyColumn,'-','.'),4)+'-'+
RIGHT('0000'+PARSENAME(REPLACE(MyColumn,'-','.'),3),4)+'-'+
RIGHT('00'+PARSENAME(REPLACE(MyColumn,'-','.'),2),2)+'-'+
PARSENAME(REPLACE(MyColumn,'-','.'),1)
Run Code Online (Sandbox Code Playgroud)