数据库:Sql Server
我有一个名为page_text的表列,其中包含以下值
“我喜欢stackoverflow.com,因为我可以发帖提问 随时回答。 “
使用 SQLQUERY 我想搜索它的 I
的数量。所以在这个字符串中它应该返回4.
我应该可以搜索任何内容。
答案 0 :(得分:9)
declare @search varchar(10) = 'I'
select len(replace(PageText, @search, @search + '#'))
- len(PageText) as Count from YourTable
答案 1 :(得分:0)
基于此代码:http://www.sql-server-helper.com/functions/count-character.aspx
你创建了一个函数:
CREATE FUNCTION [dbo].[ufn_CountSpecificWords] ( @pInput VARCHAR(1000), @pWord VARCHAR(1000) )
RETURNS INT
BEGIN
RETURN (LEN(@pInput) - LEN(REPLACE(@pInput, ' ' + @pWord + ' ', '')))
END
GO
但是,这意味着您使用前导和尾随空格保存字符串,并替换任何其他分隔符,如“,”和“。”有空格。
如果你想要单词的数量或只是单词的外观,你需要重新提问。
答案 2 :(得分:-1)
SELECT (LEN(@Text) - LEN(REPLACE(@Text,@SearchString,''))/(Len(@SearchString))