Situatie
Pentru cazurile in care avem nevoie sa aflam numarul cuvintelor dintr-un text sau coloana.
Am conceput o functie ce numara cate cuvinte sunt intr-un text ce este primit ca parametru de functie (care desigur, poate fi si o coloana de tip text dintr-o tabela). Eu am avut nevoie de o asemenea functie in momentul in care a trebuit sa trimitem scrisori catre clienti, si plata catre furnizor se facea (si) in functie de numarul de cuvinte.
Solutie
CREATE FUNCTION [dbo].[BD_NumarCuvinte] ( @TEXT VARCHAR(max) )
RETURNS INT
AS
BEGIN
–declarare variabile
DECLARE @Ind INT
DECLARE @Char CHAR(1)
DECLARE @AnteC CHAR(1)
DECLARE @NrCuv INT
— initializari counteri
SET @Ind = 1
SET @NrCuv = 0
WHILE
@Ind <= LEN(@TEXT)
BEGIN
SET @Char = SUBSTRING(@TEXT, @Ind, 1)
SET @AnteC = CASE WHEN @Ind = 1 THEN ‘ ‘
ELSE SUBSTRING(@TEXT, @Ind – 1, 1)
END
IF @AnteC = ‘ ‘ AND @Char != ‘ ‘
SET @NrCuv = @NrCuv + 1
SET @Ind = @Ind + 1
END
RETURN @NrCuv
END
GO
Leave A Comment?