SQL查询语句,提取某个字符后面的字符
例如表A,列aioru@vip.qq.com237796636@qq.com352591780@qq.comsl7212708@163.com查询@后面的,并显示出来。且...
例如表A,列a
ioru@vip.qq.com
237796636@qq.com
352591780@qq.com
sl7212708@163.com
查询@后面的,并显示出来。且显示有多少个。
结果如下:
vip.qq.com 1
qq.com 2
163.com 1
拜谢。 展开
ioru@vip.qq.com
237796636@qq.com
352591780@qq.com
sl7212708@163.com
查询@后面的,并显示出来。且显示有多少个。
结果如下:
vip.qq.com 1
qq.com 2
163.com 1
拜谢。 展开
5个回答
展开全部
可以使用 charindex找出@所在的位置,然后进行字符串的处理。最后再汇总。
示例如下:
select right(a,len(a) - charindex('@',2) ) a,count(1) from A
group by right(a,len(a) - charindex('@',2) )
示例如下:
select right(a,len(a) - charindex('@',2) ) a,count(1) from A
group by right(a,len(a) - charindex('@',2) )
追问
这样查出来的是显示每一个的了。。和a,count(a) from A group by a 的效果一样。。。
追答
select right(a,len(a) - charindex('@',a) ) a,count(1) from A
group by right(a,len(a) - charindex('@',a) )
刚才写错了,charindex里的2要换成 a
这是根据后几位汇总了。
显示的结果肯定是如下的结果。
vip.qq.com 1
qq.com 2
163.com 1
展开全部
SELECT RIGHT(a,LEN(a)-CHARINDEX('@',a)) aa,COUNT(1)
FROM A
GROUP BY RIGHT(a,LEN(a)-CHARINDEX('@',a))
FROM A
GROUP BY RIGHT(a,LEN(a)-CHARINDEX('@',a))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select right(a, len(a) - charindex('@',a)) ,count(*) from A
group by right(a,len(a) - charindex('@',a))
group by right(a,len(a) - charindex('@',a))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select substring(a,PATINDEX('%@%',a),10) mc,
count(substring(a,PATINDEX('%@%',a),10)) sl
from A
group by substring(a,PATINDEX('%@%',a),10)
count(substring(a,PATINDEX('%@%',a),10)) sl
from A
group by substring(a,PATINDEX('%@%',a),10)
追问
可以达到部分效果,但是限定了显示的字符,@twvampire 的这个很好用。
感谢您的回答
追答
case when PATINDEX('%@%',a)>0 一下呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么数据库?
追问
sql 2008
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询