例句    请查看销售出库单,编号:[A.FBillNo],日期:[A.Fdate],购货单位:[A.FSupplyID]
一串字符串,长短不定,字符串里面【】的个数不定如何把  字符串里面【】里的字符串分别截取出来啊含泪求高手了
高手高寿啊

解决方案 »

  1.   

    循环截取吧WHILE (CHARINDEX('[',@S)>0 AND CHARINDEX(']',@S)>CHARINDEX('[',@S))
    BEGIN
    .....
    END
      

  2.   

    这做法能得出
    A.FBillNo
    A。Fdate
    A.fsupplyid
    这种结果集?????????
      

  3.   

    冒号和逗号的格式固定不??
    编号:[A.FBillNo],日期:[A.Fdate],购货单位:[A.FSupplyID]
    地点:[火星],人物:[楼主],...是这样的不?
      

  4.   

    ]
    请查看销售出库单,编号:[A.FBillNo],日期:[A.Fdate],购货单位:[A.FSupplyID]这个字符串就是实例啊,想得出
    A.FBillNo
    A。Fdate
    A.fsupplyid
    这种结果集
      

  5.   

    DECLARE @S NVARCHAR(400)
    SET @S='请查看销售出库单,编号:[A.FBillNo],日期:[A.Fdate],购货单位:[A.FSupplyID]'
    DECLARE @T TABLE( COL NVARCHAR(200))WHILE (CHARINDEX('[',@S)>0 AND CHARINDEX(']',@S)>CHARINDEX('[',@S))
    BEGIN
    INSERT @T SELECT SUBSTRING(@S,CHARINDEX('[',@S)+1,CHARINDEX(']',@S)-CHARINDEX('[',@S)-1)
    SET @S=STUFF(@S,1,CHARINDEX(']',@S),'')
    END
    SELECT * FROM @T/*A.FBillNo
    A.Fdate
    A.FSupplyID(所影响的行数为 3 行)?
      

  6.   


    declare @str varchar(20)
    set @str = '[A.FBillNo]'
    select REPLACE(REPLACE(@str, '[', ''), ']', '')--A.FBillNo这种?
      

  7.   


    这个只是把[]replace掉了,其他中文字呢,没法replace啊
      

  8.   

    如果逗号的是这样的话 
    可以按照逗号来截取 然后再用charindex函数找到[]的位置截取出来 再replace