Замените все гласные на пустые (чтобы удалить их), затем вычтите длину строки без гласных из исходной длины:
select
len(Column_String)
- len(
replace(replace(replace(replace(replace(
lower(Column_String), 'a', ''), 'e', ''), 'i', ''), 'o', ''), 'u', '')
) as vowel_count
from ...
Как функция:
create function vowel_count(str nvarchar(1024))
returns int
as begin
return (
len(str) -
len(replace(replace(replace(replace(replace(
lower(str), 'a', ''), 'e', ''), 'i', ''), 'o', ''), 'u', ''));
end;