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
拜谢。
展开
 我来答
射手幽灵伊
推荐于2017-11-25 · TA获得超过2715个赞
知道大有可为答主
回答量:4955
采纳率:81%
帮助的人:1912万
展开全部
可以使用 charindex找出@所在的位置,然后进行字符串的处理。最后再汇总。
示例如下:
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
twvampire
2013-08-02 · TA获得超过3620个赞
知道大有可为答主
回答量:3029
采纳率:76%
帮助的人:2931万
展开全部
SELECT RIGHT(a,LEN(a)-CHARINDEX('@',a)) aa,COUNT(1)
FROM A
GROUP BY RIGHT(a,LEN(a)-CHARINDEX('@',a))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微风8009
2013-08-02 · TA获得超过304个赞
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:164万
展开全部
select right(a, len(a) - charindex('@',a)) ,count(*) from A
group by right(a,len(a) - charindex('@',a))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qianwei1113
2013-08-02
知道答主
回答量:34
采纳率:0%
帮助的人:14.7万
展开全部
select substring(a,PATINDEX('%@%',a),10) mc,
count(substring(a,PATINDEX('%@%',a),10)) sl
from A
group by substring(a,PATINDEX('%@%',a),10)
追问
可以达到部分效果,但是限定了显示的字符,@twvampire 的这个很好用。
感谢您的回答
追答
case when PATINDEX('%@%',a)>0 一下呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李晓健
2013-08-02 · TA获得超过183个赞
知道小有建树答主
回答量:293
采纳率:0%
帮助的人:189万
展开全部
什么数据库?
追问
sql 2008
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式