問題タブ [regexp-substr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - regexp_substrを使用して、Oracleの区切り文字として文字列をスペースと文字で分割します
文字列を regexp_subtr で分割しようとしていますが、うまくいきません。
だから、最初に、私はこのクエリを持っています
私の区切り文字を非常にうまく抽出します-空白-空白
しかし、このオプションで文字列を分割しようとすると、うまくいきません。
クエリは何も返しません。
助けていただければ幸いです。ありがとう
oracle - regex_substr を使用して、Oracle の別の列から対応する値を取得する
以下のクエリが機能します。これは、where 句で指定したキーに対応する n 番目の文字列を名前として提供します (セパレータは ## です)。
ここで、x、y、z の 3 つの列を持つテーブル temp があります。ここで、x には a##b##c##d##e##f のような文字列があり、y には 1##2##3##4##5## があります。 6 と z は 1 のような数字になります。
次のような行がある場合
- a##b##c##d##e##f 150##200##13##8##51##61 200
- a##b##c##d##e##f 1##2##3##4##5##6 2
- g##h##i##j##k##l 1##2##3##4##5##99 99
次のような出力が必要です
- a##b##c##d##e##f 150##200##13##8##51##61 200 b
- a##b##c##d##e##f 1##2##3##4##5##6 2 b
- g##h##i##j##k##l 1##2##3##4##5##99 99 l
上記のクエリでデュアルの代わりに「temp」を単に差し込むだけでは、db に 50k 行を超える行があるため、時間がかかります。より良い解決策、またはこれを修正するにはどうすればよいですか?
oracle - Oracle SQL: connect by句を改善
私はテーブルを持っています: Table_1 は次のようになります:
私が欲しいのは、テーブルを次のように変換することです:
これを行うには、次のようなクエリを使用しました。
このクエリは、カンマ区切りの値の数が少ない限り正常に機能します。しかし、それが大きくなると、処理にますます時間がかかります。
私が思いついた解決策の 1 つは、別のテーブルを作成し、Table_1 の値を繰り返し処理して値を挿入することでした。
疑似コードは次のとおりです。
しかし、これもカンマ区切りの値が大きくなるにつれて多くの時間を消費するため、これを行うための他の最適な方法はありますか (別のテーブルを使用しないことをお勧めしますが、一時/仮想テーブルは問題ありません)。
私はOracle SQLを使用しています。
前もって感謝します。
db2 - DB2 で REGEXP_SUBSTR を使用する
DB2 (バージョン 10.5) で REGEXP_SUBSTR のようなものを使用したいと考えています。
私が試したことの例があります:
次のエラーが発生しました: [エラー コード: -420、SQL 状態: 22018]
oracle11g - 最初と最後のセグメントを返す REGEXP_SUBSTR
アカウント番号をいくつかの異なるバリエーションで保存できるデータセットがあります。セグメント区切りとしてハイフンまたはスペースを含めるか、完全に連結することができます。私の希望する出力は、最初の 3 文字と最後の 5 文字の英数字です。2 つのセグメント「FIRST_THREE_AND_LAST_FIVE:
私の望ましい出力は次のようになります。
regex - 特殊文字を含む文字列から数値に変換する
以下の値の入力列があります。
期待される出力
REGEXP_REPLACE を使用しようとしていますが、数字または "." 以外のすべての文字を置き換えようとしました。そう1.2%
なり1.2
ます。これが私が試したクエリですが、これはうまくいきませんでした。
誰もそれを行う方法を提案できますか? そして、私は何を間違っていますか?私は pl/sql 開発者と一緒に Oracle 11.2 データベースに取り組んでいます。
sql - 正規表現を使用してパイプ区切りの文字列から値を取得する (Oracle)
以下のようなソース文字列のサンプルがあります。これは、値obrがどこにでもあるという点でパイプ区切り形式でした。obrの最初の出現からパイプの 2 番目の値を取得する必要があります。したがって、以下のソース文字列の場合、予想されるのは次のようになります。
ソース文字列:
期待される出力:
以下の正規表現を oracle sql で試しましたが、うまく動作しません。
文字列が OBR で始まる場合は正常に動作しますが、上記のサンプルのように OBR が途中にある場合は正常に動作しません。
どんな助けでも大歓迎です。
sql - パターンのランダム発生の oracle regexp_substr
こんにちは、任意の順序で文字列にランダムに発生するパターンを見つける必要があります
列の値は次のようになります
n= until ',' に対して値を取得する必要があります。それ以外の場合は、最後まで最後まで発生します。ただし、n は文字列のどこにでも出現する可能性があります。