关于sql2000字符串复杂截取的问题!HELP!!!

zk911 2009-07-01 05:03:14
例如文本:“内蒙古省呼和浩特市”

用sql2000有什么办法把内蒙古呼和浩特市分别截取出来吗

截取最终结果如下
text1=内蒙古
text2=呼和浩特


因为数据库里的内容合并了 现在先把它分别截取出来 不知道有什么好的方法?

我想用sql解决,我想把截取的字符串动态的放到combobox中

请路人指点一下!!!
...全文
73 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
dj3688 2009-07-02
  • 打赏
  • 举报
回复

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 行)
*/
dj3688 2009-07-02
  • 打赏
  • 举报
回复

declare @info nvarchar(500)
set @info = '内蒙古省呼和浩特市'
select substring(@info,0,charindex('省',@info))
select substring(@info,charindex('省',@info)+1,charindex('市',@info)-charindex('省',@info)-1)
fengying0529 2009-07-02
  • 打赏
  • 举报
回复
indexof + substring
zk911 2009-07-02
  • 打赏
  • 举报
回复
help!!!
zk911 2009-07-02
  • 打赏
  • 举报
回复
len(@info)-1呗。。。 试过了不好使 报错
windxx 2009-07-01
  • 打赏
  • 举报
回复
len(@info)-1呗。。。
zk911 2009-07-01
  • 打赏
  • 举报
回复
select substring(@info,charindex('省',@info)+1,len(@info))


这句过滤不掉“市”


其他都正确!!!
zhaoweiting0609 2009-07-01
  • 打赏
  • 举报
回复
想用sql解决的话,就用substring吧
fus53 2009-07-01
  • 打赏
  • 举报
回复
将数据库里面的内容取出来后得到:string str = "内蒙古省呼和浩特市";
然后用正则...
Regex re = new Regex("(.*?(?=省))|(.*?(?=市))");
re.Matchs(str)[0]为 内蒙古
re.Matchs(str)[1]为 呼和浩特
kkun_3yue3 2009-07-01
  • 打赏
  • 举报
回复

declare @info nvarchar(500)
set @info = '内蒙古省呼和浩特市'
select substring(@info,0,charindex('省',@info))
select substring(@info,charindex('省',@info)+1,len(@info))
lzc2125 2009-07-01
  • 打赏
  • 举报
回复
如果是这一个,好截取。
但是你的数据肯定是不规则的。
唯一有相同性的就是以“省”来分割
zk911 2009-07-01
  • 打赏
  • 举报
回复
恩 有规则 每一条记录里面都必须有“省”和“市”两个字符
zk911 2009-07-01
  • 打赏
  • 举报
回复
恩 有规则 每个字段里面都有“省”和“市”两个字符
kkun_3yue3 2009-07-01
  • 打赏
  • 举报
回复
有规则吗?把有省价前都有"省"字?
Replace()函数即可胜任

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧