如何使用分隔符('。')將未知長度的字符串解析到不同的列中。如何在SQL Server 2012中解析未知長度的字符串2012
declare osversion varchar(100)
set osversion = '6.2.9295'
SELECT [Part1] = LEFT(osversion,CHARINDEX('.',osversion) - 1),
[Part2] = SUBSTRING(osversion,CHARINDEX('.',osversion) + 1,
CHARINDEX('.',osversion,CHARINDEX('.',
osversion) + 1) - (CHARINDEX('.',osversion) + 1)),
[Part3] = SUBSTRING(osversion,CHARINDEX('.',
osversion,CHARINDEX('.',osversion) + 1) + 1,
DATALENGTH(osversion) - CHARINDEX('.',
osversion,CHARINDEX('.',osversion) + 1) -
CHARINDEX('.',REVERSE(osversion))),
from table1
結果:
Part1 Part2 Part3
6 2 9295
該結果對於串的固定長度。我想解析未知長度的字符串。 Like '86 .52.929.695.22.1234'。請幫忙。
[在SQL分割字符串(HTTP的可能重複:// stackoverflow.com/questions/2647/split-string-in-sql) –