怎么算一个字符出现在SQL列的次数?(How to count the number of time

2019-06-26 05:00发布

对于用户记录表我有一个SQL数据库,我跟踪的一些参数掀起了报告请求。 该报告允许多个ID的要传递给它,我存储所有这些在数据库列一列。 如果这是一个标准化的数据集,肯定会有这种附加表的设置,但这是什么继承...

现在,我一直在问给次的报告是超过2的ID传递给它运行数量的快速计数。 我可以很容易地得到具有超过1个报告请求,因为它们都包含逗号的记录数。

我下一步需要做的是算一个逗号出现在列的次数。 如何在SQL这样做吗?

--count the number of times more than 1 report was requested in the record
select 
    count(*) as cnt
from
    [table]
where
    RequestedReportParams Like '%,%'

Answer 1:

SELECT LEN(RequestedReportParams) - LEN(REPLACE(RequestedReportParams, ',', ''))
FROM YourTable
WHERE .....

这是简单地比较与逗号列的长度,与该值的长度与逗号除去,给你的差(即,逗号数)



Answer 2:

看来快速和肮脏的方式来回答你被要求将是这样做的问题是:

select 
    count(*) as cnt
FROM 
    [table]
WHERE 
    RequestedReportParams Like '%,%,%'


文章来源: How to count the number of times a character appears in a SQL column?
标签: sql tsql char