FDU – Cantidad de vocales y consonantes en un texto

FDU – Cantidad de vocales y consonantes en un texto

En una consulta a través de internet nos pidieron hacer una función que al darle una cadena de caracteres, reporte la cantidad de vocales y la cantidad de consonantes. Aquí la solución.



use Northwind
go

La función creada es como sigue:

Create function dbo.fduRetornaVocalesConsonantes (@Palabra nvarchar(200))   returns nvarchar(100)
As
Begin
— Quitar todos los espacios a la palabra
Declare @Dato nvarchar(200), @Letra nvarchar(1)
set @Dato = Upper(Replace(LTRIM(RTRIM(@Palabra)),’ ‘,”))
— Para el bucle
Declare @Inicio int, @TotalVocales int, @TotalConsonantes int
set @Inicio = 1
Set @TotalVocales = 0
set @TotalConsonantes = 0
while @Inicio <= LEN(@Dato)
Begin
set @Letra = SUBSTRING(@Dato,@Inicio,1)
if @Letra in (‘A’,’E’,’I’,’O’,’U’)
Begin
Set @TotalVocales = @TotalVocales +1
End
Else
Begin
Set @TotalConsonantes = @TotalConsonantes +1
End
Set @Inicio = @Inicio +1
End
Declare @Resultado nvarchar(200)
Set @Resultado = ‘La palabra ‘ + Upper(@Palabra) + ‘ tiene ‘ +
LTRIM(STR(@TotalVocales)) +’ vocales y ‘ + LTRIM(Str(@TotalConsonantes)) + ‘ consonantes’
return @Resultado
End
go

Usando la función definida por el usuario
select dbo.fduRetornaVocalesConsonantes(‘Manual SQL Server Profesional’)
go

El resultado es: La palabra MANUAL SQL SERVER PROFESIONAL tiene 10 vocales y 16 consonantes