母音で始まり、終わらない名前を表示する必要があります。私はこのように試しました:SQLでLIKE INステートメントでない
SELECT DISTINCT name FROM people WHERE
lower(name) NOT LIKE IN ('a','e','i','o','u')%('a','e','i','o','u');
私はエラーが発生しました。
母音で始まり、終わらない名前を表示する必要があります。私はこのように試しました:SQLでLIKE INステートメントでない
SELECT DISTINCT name FROM people WHERE
lower(name) NOT LIKE IN ('a','e','i','o','u')%('a','e','i','o','u');
私はエラーが発生しました。
あなたは大文字小文字を区別しないマッチングのためのマッチパラメータi
でregexp_like
を使用することができます。
select distinct name from people
where not regexp_like(name, '^[aeiou]($|.*[aeiou]$)', 'i');
パターンの詳細:
^[aeiou]
は - 母音($|.*[aeiou]$)
で始まる - どちらか一つだけの文字があります(最初のステップでマッチした)、または母音で終わります。大きなデータセットの場合は、パフォーマンス上の理由からREGEXP
を使用しないでください。
そのような場合はTRANSLATE
あなたの友人です。 )は
2)
select txt from tab1
where translate(lower(txt),'aeiou','aaaaa') not like 'a%a';
REGEXP Sが強大である選択された母音と正常LIKE述語を実行する1つの代表的にすべての母音を翻訳が、非自明なデータに使用すべきではありませんそれらが避けられる場合に備えて設定されます。 (私の8M行のテストデータは、REGEXP
で2時間以上でTRANSLATE
を使用して7秒を経過しています)。
http://stackoverflow.com/questions/3014940/is-there-a-combination-of-like-and-in-in-sql – CollinD