[解決済み] Oracle SQLで特定の文字までの部分文字列を選択するには?
2023-05-15 18:44:54
質問
テーブルのカラムに次のような結果があるとします。
ABC_blahblahblah
DEFGH_moreblahblahblah
IJKLMNOP_moremoremoremore
テーブルからこのカラムを選択し、アンダースコア (_) 文字までの部分文字列のみを返すクエリを書けるようにしたいと思います。例えば
ABC
DEFGH
IJKLMNOP
SUBSTRING関数は位置指定でアンダースコアの位置が変わるので、このタスクには対応していないようです。
TRIM関数(具体的にはRTRIM関数)を考えてみました。
SELECT RTRIM('listofchars' FROM somecolumn)
FROM sometable
しかし、これは特定のリスト/セットの文字しか削除しないようで、私は本当にアンダースコア文字につながる文字の後だけなので、私はこれをどのように動作させるかわからないです。
どのように解決するのですか?
SUBSTR、INSTR、NVL(アンダースコアのない文字列の場合)を組み合わせて使用すると、希望通りの結果が得られます。
SELECT NVL(SUBSTR('ABC_blah', 0, INSTR('ABC_blah', '_')-1), 'ABC_blah') AS output
FROM DUAL
結果
output
------
ABC
使用する。
SELECT NVL(SUBSTR(t.column, 0, INSTR(t.column, '_')-1), t.column) AS output
FROM YOUR_TABLE t
参考
追記
Oracle10g+を使用している場合、正規表現を使用するために REGEXP_SUBSTR .
関連
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] ある文字列が特定の単語を含んでいるかどうかを確認するにはどうすればよいですか?
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] Javascriptで文字列の最後の文字を切り取るにはどうしたらいいですか?
-
[解決済み] SQLのSELECTでIF...THENを実行するにはどうすればよいですか?
-
[解決済み] 既存のカラムにIDを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] SQL Serverにおける関数とストアドプロシージャの比較
-
[解決済み] T-SQLでnot equalには!=と<>のどちらを使うべきですか?
-
[解決済み] カラム名の変更 SQL Server 2008
-
[解決済み] 各グループの上位1行を取得
-
[解決済み] SQL Serverには、.NETのMath.Maxのような2つの値を取るMax関数はありますか?
-
[解決済み] SQLのインデックスとは何ですか?
-
[解決済み] SQL/mysql - Select distinct/UNIQUE but return all column?
-
[解決済み] VARCHARとCHARの違いは何ですか?