次のような結果を持つテーブル列があるとします。
ABC_blahblahblah
DEFGH_moreblahblahblah
IJKLMNOP_moremoremoremore
上記のテーブルからこの列を選択するクエリを記述できるようにしたいのですが、アンダースコア(_)文字までの部分文字列のみを返します。例えば:
ABC
DEFGH
IJKLMNOP
SUBSTRING関数は位置ベースであり、アンダースコアの位置が異なるため、タスクに対応していないようです。
私はTRIM関数(具体的にはRTRIM関数)について考えました:
SELECT RTRIM('listofchars' FROM somecolumn)
FROM sometable
しかし、これがどのように機能するかはわかりません。これは、特定のリスト/文字セットを削除するだけのようであり、実際には、アンダースコア文字に至るまでの文字を追跡しているだけだからです。