在SQL sever中当查询到某一列中满足条件的某一行,如何提取这一行进行操作完成后添加到结果集中?

当查询满足条件时,我想用ifelse提取这行用字符串函数进行处理后添加到结果集中--两位帮我参考一下怎么改usetest1goselect*from实验1where句子l... 当查询满足条件时,我想用if else 提取这行用字符串函数进行处理后添加到结果集中
--两位帮我参考一下怎么改
use test1
go
select * from 实验1 where 句子 like '%科学%大脑%'
--查找科学和大脑两个词
declare @weizhi1 smallint, @weizhi2 smallint --声明科学和大脑两个词的位置
select @weizhi1 =PATINDEX ('%科学%',句子)from 实验1 where 句子 like '%科学%大脑%'--获取科学在查找到科学和大脑行的位置
select @weizhi2 =PATINDEX ('%大脑%',句子)from 实验1 where 句子 like '%科学%大脑%'
--获取大脑在查找到科学和大脑行的位置
if @weizhi2-@weizhi1 <50
--判断科学和大脑之间的字符个数是否小于50,如果小于50那么将改行添加到记录集
select * from where 句子 like '%科学%大脑%'
/*我的意思是在名为句子列中如果查找到带有科学和大脑,并且获取它们的字符位置,如果字符距离小于50的话
就将其添加到结果集中,*/
展开
 我来答
真相很简单
推荐于2016-07-05 · TA获得超过643个赞
知道小有建树答主
回答量:539
采纳率:50%
帮助的人:418万
展开全部
用存储过程

@r = select ... where...

然后使用@r操作

===========================
@result = select * from 实验1 where 句子 like '%科学%大脑%'
create table #tabC(v vchar(100))

while {使用游标循环
@weizhi1 = charIndex(科学);
@weizhi2 = charIndex(大脑);
if @weizhi2-@weizhi1 <50
insert #tabC

tabC就是最终的结果集
追问
问题已补充,能帮我看下吗?
追答
回答已补充,请继续
awei_00
2014-05-27
知道答主
回答量:20
采纳率:0%
帮助的人:14.9万
展开全部
select * from 实验1
where (句子 like '%科学%大脑%') and CHARINDEX('大脑',句子)-CHARINDEX('科学',句子)<50
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式