sqlserver中根据某个字符切割字符串
时间: 2023-05-04 19:05:33 浏览: 138
sqlserver中根据某个字符切割字符串函数
在SQL Server中,要根据某个字符切割字符串,可以使用内置函数“SUBSTRING”、“CHARINDEX”以及“LEFT”、“RIGHT”等函数的组合。
例如,假设有一个字符串“abc,def,ghi,jkl”,我们想要根据“,”切割这个字符串并获得每个子字符串,则可以使用以下SQL语句:
SELECT
SUBSTRING('abc,def,ghi,jkl', 1, CHARINDEX(',', 'abc,def,ghi,jkl')-1) AS Str1,
SUBSTRING('abc,def,ghi,jkl', CHARINDEX(',', 'abc,def,ghi,jkl')+1, LEN('abc,def,ghi,jkl')) AS Str2,
SUBSTRING('abc,def,ghi,jkl', CHARINDEX(',', 'abc,def,ghi,jkl', CHARINDEX(',', 'abc,def,ghi,jkl')+1)+1, LEN('abc,def,ghi,jkl')) AS Str3,
SUBSTRING('abc,def,ghi,jkl', CHARINDEX(',', 'abc,def,ghi,jkl', CHARINDEX(',', 'abc,def,ghi,jkl', CHARINDEX(',', 'abc,def,ghi,jkl')+1)+1)+1, LEN('abc,def,ghi,jkl')) AS Str4
这个SQL语句可以将“abc,def,ghi,jkl”字符串拆分成四个子字符串“abc”“def”“ghi”和“jkl”,分别赋值给Str1、Str2、Str3和Str4变量。其中,“CHARINDEX”函数用于查找“,”在字符串中的位置,“SUBSTRING”函数用于截取子字符串,而“LEN”函数则用于获取字符串的长度。使用类似的代码和函数,可以轻松地根据任何字符拆分字符串。
阅读全文