如何计算元音的数量 - SQL Server

Süh*_*düz 1 sql-server procedure count

我想编写一个程序,例如计算一列中元音的数量。所以如果我任何时候需要它,那么我不需要再次编写程序。我想用像find_vowel();

例子:

Select Column_String 
From Tablo1 
Where Column_ID=1
Run Code Online (Sandbox Code Playgroud)

结果:“我会找到它”

元音:“I,A,o,a,i,i”

该列有6个元音(包括上下字符)。

那么如何找到列中元音的数量呢?

我正在使用 Microsoft SQL Server 2014

谢谢

Boh*_*ian 5

将所有元音替换为空白(以删除它们),然后从原始长度中减去无元音字符串的长度:

select
    len(Column_String)
    - len(
        replace(replace(replace(replace(replace(
            lower(Column_String), 'a', ''), 'e', ''), 'i', ''), 'o', ''), 'u', '')
    ) as vowel_count
from ...
Run Code Online (Sandbox Code Playgroud)

作为一个函数:

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;   
Run Code Online (Sandbox Code Playgroud)