SQL统计数据库某分隔符字段里的数量请问怎么写

guojun17 2013-06-08 02:16:31
表 1
ID 字段A
1 a,b,c
2 c,b

得出的结果要

数量 ID
3 1
2 2

现在用了个函数可以求一个的数量 请问怎么写这种全局的?
...全文
299 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahhfql 2013-06-08
  • 打赏
  • 举报
回复
DECLARE @i TABLE(id INT ,col VARCHAR(10)) INSERT INTO @i(id,col) SELECT 1,'a,b,cc'UNION SELECT 2,'c,bv' SELECT id,LEN(col)-(LEN(col) - LEN(REPLACE(col,',',''))) AS 数量 FROM @i
  • 打赏
  • 举报
回复
引用 4 楼 guojun17 的回复:
不行啊 我试过 ID 字段A 1 a,b,cc 2 c,b 然后ID1 得出的数量是4 实际要得出的是3
有问题吗? --> 测试数据:#tb IF OBJECT_ID('TEMPDB.DBO.#tb') IS NOT NULL DROP TABLE #tb GO CREATE TABLE #tb([ID] INT,[字段A] VARCHAR(5)) INSERT #tb SELECT 1,'a,b,c' UNION ALL SELECT 2,'c,b' --------------开始查询-------------------------- SELECT LEN(字段A)-LEN(REPLACE(字段A,',',''))+1,id FROM #tb ----------------结果---------------------------- /* (无列名) id 3 1 2 2 */
guojun17 2013-06-08
  • 打赏
  • 举报
回复
不行啊 我试过 ID 字段A 1 a,b,cc 2 c,b 然后ID1 得出的数量是4 实际要得出的是3
Mr_Nice 2013-06-08
  • 打赏
  • 举报
回复
DECLARE @i TABLE(id INT ,col VARCHAR(10))

INSERT INTO @i(id,col)
SELECT 1,'a,b,c'
UNION 
SELECT 2,'c,b'


SELECT id,(LEN(col) - LEN(REPLACE(col,',','')))+1 AS 数量 FROM @i
/*
id	数量
1	3
2	2*/
哥眼神纯洁不 2013-06-08
  • 打赏
  • 举报
回复
select len(replace(字段A,',',''),id from 表?
  • 打赏
  • 举报
回复
SELECT LEN(字段A)-LEN(REPLACE(字段A,',','')),id FROM 表

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧