5.00 / 1 oy

SQL Server'da Yazının Kelime Sayısını Bulmak ve Kelime Saydırmak

Blog türünde bir web uygulamasını SQL Server veritabanında barındırırken her bir yazının kelime sayısını saydırmam gerekti ve html türündeki verilerin kelimelerini saydırmak için kendi hazırladığım fonksiyonlar ve prosedürler (stored procedure) zaman zaman hatalı sayımlar yaptı.

SQL Server'da Nvarchar veri biçimine sahip yazıların kaç kelimeden oluştukları (harf değil, kelime saydırmak istiyorum) bilgisini yine SQL Server içinde hesaplanmak istenirse nasıl bir yaklaşım uygulanabilir? Yazmam gereken kod konusunda önerileri olan arkadaşlar olur mu yoksa daha önce SQL Server veritabanında kelime sayısını bulmak için kullandıkları ve çalışan hazır bir kod varsa paylaşmaları mümkün müdür?

Öz Hakiki Bumblebee

04.12.2020 06:46

Bu soru 3 kez yanıtlandı.

  • 4 Aralık 2020 08:33
    18

    Şu kodları doğrudan çalıştırarak kullanabilirsiniz:

    Fonksiyon:

    CREATE FUNCTION [dbo].[KelimeSaydir] ( @girdi NVARCHAR(max) ) 
    RETURNS INT
    AS
    BEGIN
    DECLARE @sira          INT
    DECLARE @karakter           CHAR(1)
    DECLARE @karakterOnceki       CHAR(1)
    DECLARE @kelimeSayisi      INT
    
    SET @sira = 1
    SET @kelimeSayisi = 0
    
    WHILE @sira <= LEN(@girdi)
    BEGIN
        SET @karakter     = SUBSTRING(@girdi, @sira, 1)
        SET @karakterOnceki = CASE WHEN @sira = 1 THEN ' '
                             ELSE SUBSTRING(@girdi, @sira - 1, 1)
                        END
    
        IF @karakterOnceki = ' ' AND @karakter != ' '
            SET @kelimeSayisi = @kelimeSayisi + 1
    
        SET @sira = @sira + 1
    END
    
    RETURN @kelimeSayisi
    
    END
    GO

    Fonksiyonu çağırmak için örnek:

    DECLARE @yazi VARCHAR(max)
    SET @yazi = 'Buraya uzun bir yazı ya da tabloların birinden select komutu ile çekeceğiniz bir yazı gelebilir'
    SELECT [dbo].[KelimeSaydir](@yazi)

    sql server kelime sayısı

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
SQL Server'da Yazının Kelime Sayısını Bulmak ve Kelime Saydırmak

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.