sql中如何统计一字段中字符串的个数

我建一张表temp结构如下:=======================1、idint42、nrntext16=======================记录内容为:... 我建一张表temp结构如下:
=======================
1、id int 4
2、nr ntext 16
=======================

记录内容为:
====================================
id nr
1 123 234 232 123
2 191 2234 191 3321 267 2654 123
3 212 233 244 298
=======================================
注意:nr字段中的字符串间有一空格,最后一个字符串的最后也有一空格

我想问:怎么统计一条记录中nr字段的字符串个数,且统计的字符串不重复,如第一条记录的nr字段的字符串个数为4个,第二条记录的nr字段的字符串个数为6个(而不是7个)。
数据库是sql server 的,不过我不会写存储过程,请yaweiinfo帮忙解决一下。
展开
 我来答
娱乐小八卦啊a
高粉答主

2020-05-17 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117860

向TA提问 私信TA
展开全部

declare @s varchar(100)

set @s='156434A27kAsdABCiosd-01&**('

--找出现的次数

select len(@s)-len(replace(@s,'A',''))

SQL中字符串截取函数(SUBSTRING)

1、left(name,4)截取左边的4个字符

列:

SELECT LEFT(201809,4) 年

结果:2018

2、right(name,2)截取右边的2个字符

SELECT RIGHT(201809,2) 月份

结果:09

扩展资料

sql中group by用法:

GROUP BY可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类似Excel里面的透视表。

GROUP BY必须得配合聚合函数来用,分组之后可以计数(COUNT),求和(SUM),求平均数(AVG)等。

常用聚合函数:count() 计数、sum() 求和、avg() 平均数、max() 最大值、min() 最小值。

SELECT 语句指定了两列(Customer 和 SUM(OrderPrice))。"SUM(OrderPrice)" 返回一个单独的值("OrderPrice" 列的总计),而 "Customer" 返回 6 个值(每个值对应 "Orders" 表中的每一行)。因此,我们得不到正确的结果。不过,您已经看到了,GROUP BY 语句解决了这个问题。

131******60
2009-02-19 · TA获得超过777个赞
知道小有建树答主
回答量:409
采纳率:33%
帮助的人:257万
展开全部
用replace , 将空格替换成‘’,就是空的,
然后跟原先的字符长度比较, 得出的就是字符串的个数。
嘿嘿~ 刚刚想到的。

select id, len(nr) - len(replace(nr,' ' , '') )
from temp
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
du瓶邪
推荐于2017-09-03 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2946万
展开全部
declare @s varchar(100)
set @s='156434A27kAsdABCiosd-01&**('
--找出现的次数
select len(@s)-len(replace(@s,'A',''))
--结果
3.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuyt80
2009-02-19 · TA获得超过634个赞
知道小有建树答主
回答量:403
采纳率:50%
帮助的人:295万
展开全部
select len(REPLACE (nr , ' ' , '' )) from temp

len是取长度的,replace是用空取代空格
这结合就是你要的答案
你试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yaweiinfo
2009-02-19
知道答主
回答量:29
采纳率:0%
帮助的人:0
展开全部
看你用什么样的数据库去实现,sql server , oracle 所使用的函数语句有出入的。查查具体数据库的函数、语句。做个存储过程应该就能搞定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式