zoukankan      html  css  js  c++  java
  • SQL截取字符串分隔符中间部门的办法

    需求:实际项目中需要截取第2到第3个逗号中间部分的内容

    方案:

    declare @str nvarchar(50);
    set @str='11,222,3333,44444';
    select @str as '字符串'
    select len(@str) as '字符长度'
    select charindex(',',@str,1) as '第一个逗号的索引值'
    select LEFT(@str,charindex(',',@str,1)-1) as '第一个值'
    select SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)) as '从第一逗号开始截取出后面的字符串'
    select LEFT(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),CHARINDEX(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)-1) as '中间的值'
    select SUBSTRING(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),charindex(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)+1,len(@str)) as '最后面的值' --从第二个逗号开始截取出其后的字符串
    select LEFT(
    SUBSTRING(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),charindex(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)+1,len(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str))))
    ,CHARINDEX(',',SUBSTRING(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),charindex(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)+1,len(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)))),1)-1
    ) as '第二中间的值'

  • 相关阅读:
    创建被访问的swf文件
    BFS寻路算法的实现
    Flex里的命名空间,fx、mx、s【转】
    Flex的基础用法【转】
    Pow(x, n)
    Roman to Integer
    Integer to Roman
    Divide Two Integers
    Single Number II
    Single Number I
  • 原文地址:https://www.cnblogs.com/johsan/p/7667288.html
Copyright © 2011-2022 走看看