如何在SQL Server 2008中的字符串之间插入字符?

时间:2013-06-19 06:02:43

标签: sql sql-server string

我需要帮助在字符串中插入一个字符,例如:

031613 05:39 AM

输出应为:

03/16/13 05:39 AM

3 个答案:

答案 0 :(得分:30)

您可以使用STUFF

DECLARE @String NVARCHAR(20) = '031613 05:39 AM'

SELECT STUFF(STUFF(@String,3,0,'/'),6,0,'/')

Fiddle

答案 1 :(得分:1)

如何使用SUBSTRING

DECLARE @String VARCHAR(50) = '031613 05:39 AM'

SELECT  @String,
        SUBSTRING(@String,1,2) + '/' + SUBSTRING(@String,3,2) + '/' + SUBSTRING(@String,3,2) + SUBSTRING(@String,7,LEN(@String)-6)

SQLFiddle DEMO

答案 2 :(得分:0)

使用也可以这样做..但是相当大的解决方案。

declare @T varchar(100)= '031613 05:39 AM'
declare @result varchar(100) =''

;with CTE
as
(
Select 0 as startIndex, 2 as endIndex 
union all
select convert(int, endIndex) as startIndex , endIndex+2 as endIndex from CTe where endIndex < charindex(' ',@T)
)
select top 3 @result += substring(@T,startIndex+1, endIndex-startIndex)+'/' from CTe
select substring( @result,0,len(@result))
相关问题