例如文本:“内蒙古省呼和浩特市”用sql2000有什么办法把内蒙古呼和浩特市分别截取出来吗截取最终结果如下
                  text1=内蒙古
                  text2=呼和浩特
因为数据库里的内容合并了 现在先把它分别截取出来 不知道有什么好的方法?我想用sql解决,我想把截取的字符串动态的放到combobox中  请路人指点一下!!!

解决方案 »

  1.   

    有规则吗?把有省价前都有"省"字?
    Replace()函数即可胜任
      

  2.   


    declare @info nvarchar(500)
    set @info = '内蒙古省呼和浩特市'
    select substring(@info,0,charindex('省',@info))
    select substring(@info,charindex('省',@info)+1,len(@info))
      

  3.   

    将数据库里面的内容取出来后得到:string str = "内蒙古省呼和浩特市";
    然后用正则...
        Regex re = new Regex("(.*?(?=省))|(.*?(?=市))");
        re.Matchs(str)[0]为 内蒙古
        re.Matchs(str)[1]为 呼和浩特
      

  4.   

    想用sql解决的话,就用substring吧
      

  5.   

    select substring(@info,charindex('省',@info)+1,len(@info))
    这句过滤不掉“市”
    其他都正确!!!
      

  6.   

    len(@info)-1呗 试过了不好使 报错
      

  7.   


    declare @info nvarchar(500)
    set @info = '内蒙古省呼和浩特市'
    select substring(@info,0,charindex('省',@info))
    select substring(@info,charindex('省',@info)+1,charindex('市',@info)-charindex('省',@info)-1)
      

  8.   


    declare @info nvarchar(500)
    set @info = '内蒙古省呼和浩特市'
    select substring(@info,0,charindex('省',@info))
    select substring(@info,charindex('省',@info)+1,charindex('市',@info)-charindex('省',@info)-1)/*
    内蒙古(所影响的行数为 1 行)    
    呼和浩特(所影响的行数为 1 行)
    */