【问题标题】:counting all the words matching the pattern in sql server records计算 sql server 记录中与模式匹配的所有单词
【发布时间】:2014-11-25 10:14:02
【问题描述】:

我正在尝试计算 sql 记录中具有以下模式的所有单词

示例:

[堆栈溢出]

[堆栈交换]

[控制]

如何在 sql server 中执行此操作。

我可以计算已知的单词,但是如何计算所有出现的带有模式 [ ]

的单词

非常感谢

【问题讨论】:

  • 来自表。或者来自整个数据库。??
  • 投反对票的人可以解释原因。这样我就可以改进我的问题。 (我想我会期待“发表你的尝试”之类的评论)
  • [] 中包含什么模式??
  • 我试过用excel算字数

标签: sql-server regex


【解决方案1】:

使用模式('[[]%]') 计算以'[]' 开头和结尾的单词

SELECT COUNT(*)
FROM YourTable WHERE SearchColumn  LIKE ('[[]%]')

【讨论】:

  • 我正在寻找答案来计算满足模式及其计数的单个单词
  • 我没有得到你。举个例子
  • @PandiyanCool - 您不清楚自己的要求
  • 我有很多具有这种模式的单词。我想计算所有单词及其计数
  • 如果您发布示例数据及其相关输出会发生什么。///
【解决方案2】:
mysql> SELECT SUM(column_name REGEXP '^\\[.*\\]') from table_name;

应该为你做这件事

【讨论】:

  • 请MS sql解决方案
【解决方案3】:

SQL 用方括号“分隔”特殊字符,告诉引擎将其视为普通文字字符而不是具有特殊含义的字符。在这里查看更多信息。

CREATE TABLE #test
  (
     a VARCHAR(50)
  )

INSERT INTO #test
VALUES      ('[stackoverflow]'),
            ('[stackoverflow]'),
            ('[stackexchange]'),
            ('[control]'),
            ('control')

SELECT a,
       Count(a)
FROM   #test
WHERE  a LIKE '%[[]%]%'
GROUP  BY a 

【讨论】:

  • 我正在寻找答案来计算满足模式及其计数的单个单词
  • 我想统计每一个具有这种模式的单词
  • @PandiyanCool - 是的,兄弟,这就是它正在做的事情,否则说我的输出有什么问题
猜你喜欢
  • 1970-01-01
  • 2015-04-30
  • 2017-10-18
  • 2011-07-26
  • 1970-01-01
  • 2015-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多