本文转载自微信公众号《SQL数据库开发》,作者,平凡的世界。转载本文请联系SQL数据库开发公众号。我们在SQL处理数据的时候,时不时会遇到字符串拆分的情况。类似于Excel中按指定字符对列进行排序,今天为大家介绍两种处理方式。借助Excel进行切分首先将数据库中的数据导出到Excel中,用Excel进行排序后再导入到数据库中。注意再次导入时需要更改表结构,因为分列后数据字段较多,需要新建列来匹配。使用CHARINDEX函数进行分段。CHARINDEX函数的作用是如果可以找到对应的字符串则返回字符串的位置,否则返回0。语法如下:besearchedexpressionSource:是要查找的字符串start_location:查找的起始位置,默认为空,表示从第一处开始查找例如:SELECTCHARINDEX('Road','SQL_Road')返回结果为:5表示字符串'Road'位于字符串'SQL_Road'的第五个位置。回到我们的列用法,我们可以这样写:SELECT'ABCD,BDEF'ASR,LEFT('ABCD,BDEF',CHARINDEX(',','ABCD,BDEF')-1)ASR1,RIGHT('ABCD,BDEF',(LEN('ABCD,BDEF')-CHARINDEX(',','ABCD,BDEF')))ASR2(提示:可以左右滑动代码)返回上面的字符串'ABCD,BDEF'由逗号(,)分隔。方法是固定的。如果是对其他符号进行排序,只需要修改符号即可。以上是我经常使用的两种方法,希望对大家有所帮助。
