文字列の最後の文字を取得して、それが母音か子音かを確認するにはどうすればよいですか? 私はオラクル10gを使用しています。
これが私がすでに思いついたものです:
SELECT last_name,
       Substr(last_name, -1, 1) "Last letter",
       Substr(last_name, 1, 1)  "First letter",
       CASE
         WHEN Substr(last_name, -1, 1) IN ( 'a', 'e', 'i', 'o', 'u' ) THEN
         'ends with a vowel'
         WHEN Substr(last_name, -1, 1) IN ( 'b', 'c', 'd', 'f',
                                            'g', 'h', 'j', 'k',
                                            'l', 'm', 'n', 'p',
                                            'q', 'r', 's', 't',
                                            'v', 'w', 'x', 'y', 'z' ) THEN
         'ends with a consonant'
       END                      "Last Letter Description",
       CASE
         WHEN Substr(last_name, 1, 1) IN ( 'a', 'e', 'i', 'o', 'u' ) THEN
         'starts with a consonant'
         WHEN Substr(last_name, 1, 1) IN ( 'b', 'c', 'd', 'f',
                                           'g', 'h', 'j', 'k',
                                           'l', 'm', 'n', 'p',
                                           'q', 'r', 's', 't',
                                           'v', 'w', 'x', 'y', 'z' ) THEN
         'starts with a consonant'
       END                      "First Letter Description"
FROM   employees
GROUP  BY first_name,
          last_name 
これを oracle 10g で実行すると、「最初の文字の説明」が空になります。コードの何が問題になっていますか?