Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

टेक्स्ट कॉलम में शब्दों की गिनती के अवसर पर एमएस एसक्यूएल क्वेरी

आप शब्दों को पार्स करने के लिए एक टेबल-वैल्यू फ़ंक्शन बना सकते हैं और इसे qQuestion के विरुद्ध अपनी क्वेरी में शामिल कर सकते हैं। आपकी स्कीमा में, मैं varchar(8000) . का उपयोग करने की सलाह देता हूं या varchar(max) text . के बजाय . इस बीच, निम्नलिखित को आपको आरंभ करना चाहिए:

create function [dbo].[fnParseWords](@str varchar(max), @delimiter varchar(30)='%[^a-zA-Z0-9\_]%')
returns @result table(word varchar(max))
begin
    if left(@delimiter,1)<>'%' set @delimiter='%'[email protected];
    if right(@delimiter,1)<>'%' set @delimiter+='%';
    set @str=rtrim(@str);
    declare @pi int=PATINDEX(@delimiter,@str);

    while @pi>0 begin
        insert into @result select LEFT(@str,@pi-1) where @pi>1;
        set @str=RIGHT(@str,len(@str)[email protected]);
        set @pi=PATINDEX(@delimiter,@str);
    end

    insert into @result select @str where LEN(@str)>0;
    return;
end
go

select COUNT(*)
from webqueries q
cross apply dbo.fnParseWords(cast(q.qQuestion as varchar(max)),default) pw
where pw.word not in ('and','is','a','the'/* plus whatever else you need to exclude */)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में FILEGROUPPROPERTY () का उपयोग कैसे करें

  2. SQL में कर्सर से निपटने में त्रुटि

  3. जियोसर्वर - SQL सर्वर 2008 एक्सप्रेस से कनेक्ट करें और डेटा प्राप्त करें

  4. Sql सर्वर डेटाबेस में पिक्चरबॉक्स इमेज डालें

  5. दोनों के बीच क्या अंतर है; और टी-एसक्यूएल में जाओ?