SQL 提取两个字符之间的字符语句 帮帮忙
我想把A字段的内容复制到B字段,只取“://”与第三个“/”之间的字符,B字段为想要的结果注意ID为2的后面是没有"/"idAB1http://www.baidu.com...
我想把A字段的内容复制到B字段,只取“://”与第三个“/”之间的字符,B字段为想要的结果
注意ID为2的后面是没有"/"
id A B
1 http://www.baidu.com/now www.baidu.com
2 http://www.baidu.com www.baidu.com
3 https://www.baidu.com/aaa/bbb/aa.html www.baidu.com
4 http://ditu.baidu.cn/maps ditu.baidu.com
如下SQL语句,具体应该怎么写呢,帮帮忙,谢谢大家了
update table set b=a 展开
注意ID为2的后面是没有"/"
id A B
1 http://www.baidu.com/now www.baidu.com
2 http://www.baidu.com www.baidu.com
3 https://www.baidu.com/aaa/bbb/aa.html www.baidu.com
4 http://ditu.baidu.cn/maps ditu.baidu.com
如下SQL语句,具体应该怎么写呢,帮帮忙,谢谢大家了
update table set b=a 展开
1个回答
2014-10-10 · 知道合伙人软件行家
Axure夜话
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:1197
获赞数:1344
1992年毕业于太原理工大学,20年IT公司工作经验现任山西誉海和科技有限公司技术总监,老二牛车教育课程总监
向TA提问 私信TA
关注
展开全部
使用substring(),charindex()
然后配合使用case when then else end截取字符串
然后配合使用case when then else end截取字符串
追问
哥们能不能帮我写出来,我在网上也找了,但怎么弄都弄不对
追答
手头没环境,出差中
大概思路,需要一步一步的调,测
1:获取://后面的字符串
select substring(b,charindex('://',b,0)+1,len(b) from 表
2:获取 / 的位置
charindex('/',第一步骤字符串,0) ->>
select substring(substring(b,charindex('://',b,0)+1,len(b) ,charindex('://',substring(b,charindex('://',b,0)+1,len(b) ,0)+1,len(substring(b,charindex('://',b,0)+1,len(b) ) from 表
3: 根据位置截取
case when charindex('/',第一步骤字符串,0) >0 then
>>substring(substring(b,charindex('://',b,0)+1,len(b),charindex('://',substring(b,charindex('://',b,0)+1,len(b),0)+1,len(substring(b,charindex('://',b,0)+1,len(b))
else substring(b,charindex('://',b,0)+1,len(b) end
4:update 表
set B=第三部内容
把要的内容先查出来,在更新
只能说方法,我以前就是这么教学生的
数据库
http://wenku.baidu.com/view/5f1b999e89eb172ded63b78e.html
或
http://www.iniuche.com/archives/387.html
这里有些训练题,我以前出的,可以多练习练习
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询