PostgreSQLRETURNINGがREGEXP_REPLACEで失敗する

マイケルニールセン

私はPostgreSQL9.4を実行していて、データベースに多くのレコードを挿入しています。挿入後にさらに使用するためにRETURNING句を使用します。

単に実行すると:

... RETURNING my_car, brand, color, contact

すべてが機能しますが、REGEXP_REPLACEを使用しようとすると失敗します。

... RETURNing my_car, brand, color, REGEXP_REPLACE(contact, '^(\+?|00)', '') AS contact

それは失敗します:

ERROR: invalid regular expression: quantifier operand invalid

PostgreSQLで直接クエリを実行すると、それは機能し、素晴らしい出力を返します。

ヴァオツン

再現しようとしましたが失敗しました:

t=# create table s1(t text);
CREATE TABLE
t=# insert into s1 values ('+4422848566') returning REGEXP_REPLACE(t, '^(\+?|00)', '');
 regexp_replace
----------------
 4422848566
(1 row)

INSERT 0 1

とても手の込んだ@pozsが理由を提案しました:

set standard_conforming_strings to off;

につながる

WARNING:  nonstandard use of escape in a string literal
LINE 1: ...alues ('+4422848566') returning REGEXP_REPLACE(t, '^(\+?|00)...
                                                             ^
HINT:  Use the escape string syntax for escapes, e.g., E'\r\n'.
ERROR:  invalid regular expression: quantifier operand invalid

更新OPの作者としては述べていますstandard_conforming_stringsされるonと、デフォルトの動作で9.1からなってpsqlとされてoffの作業しますpg-prommise

バイタリティからの更新-t

問題は、フラグではなく、JavaScriptリテラルのエスケープにあります。

彼は彼の答えでさらに詳しく述べています

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

postgresの配列列でregexp_replaceを使用する

分類Dev

Redshiftで連続する数字の一致REGEXP_REPLACE

分類Dev

anglejs:regexpがonblurに失敗する

分類Dev

REGEXP_REPLACEではなく

分類Dev

BigQuery REGEXP_REPLACE

分類Dev

Oracle Regexp_replace

分類Dev

別のregexp_replaceに基づいてregexp_replaceを実行するにはどうすればよいですか?

分類Dev

String.Replace with doublespacesが失敗する

分類Dev

PHP-preg_replace_callbackがサブタグで失敗する

分類Dev

Javascript .replace()メソッドがIE8で失敗する

分類Dev

regexp_replaceを使用すると、すべての文字の前後に空白が表示されるのはなぜですか?

分類Dev

postgresql 7.4に相当するregexp_replaceはありますか?

分類Dev

PostGreSQLでは、regexp_replaceの逆参照はCASEステートメントで機能する必要がありますか?

分類Dev

-を含む文字列から抽出するregexp_replace

分類Dev

REGEXP_REPLACE置換を日付に変換する

分類Dev

予期しないregexp_replaceの結果を説明する

分類Dev

regexp_replace()関数を使用して単語を変更することは可能ですか?

分類Dev

oracle sql regexp_replace

分類Dev

mysql regexp_replace with update

分類Dev

VSCODEのregexp_replace

分類Dev

.bashrcが原因でgitpushが失敗する

分類Dev

Oracleのregexp_replaceとは異なる値が機能しない

分類Dev

codenameoneでURLImage.createToStorageが失敗する

分類Dev

JsonTestでSpring Autoconfigurationが失敗する

分類Dev

MethodNodeの作成がIllegalStateExceptionで失敗する

分類Dev

Java 11でOpenWebBeans CDIが失敗する

分類Dev

Dockerfileでgit installが失敗する

分類Dev

matches(not(isDisplayed()))がNoMatchingViewExceptionで失敗する

分類Dev

pdf.jsがgetDocumentで失敗する

Related 関連記事

  1. 1

    postgresの配列列でregexp_replaceを使用する

  2. 2

    Redshiftで連続する数字の一致REGEXP_REPLACE

  3. 3

    anglejs:regexpがonblurに失敗する

  4. 4

    REGEXP_REPLACEではなく

  5. 5

    BigQuery REGEXP_REPLACE

  6. 6

    Oracle Regexp_replace

  7. 7

    別のregexp_replaceに基づいてregexp_replaceを実行するにはどうすればよいですか?

  8. 8

    String.Replace with doublespacesが失敗する

  9. 9

    PHP-preg_replace_callbackがサブタグで失敗する

  10. 10

    Javascript .replace()メソッドがIE8で失敗する

  11. 11

    regexp_replaceを使用すると、すべての文字の前後に空白が表示されるのはなぜですか?

  12. 12

    postgresql 7.4に相当するregexp_replaceはありますか?

  13. 13

    PostGreSQLでは、regexp_replaceの逆参照はCASEステートメントで機能する必要がありますか?

  14. 14

    -を含む文字列から抽出するregexp_replace

  15. 15

    REGEXP_REPLACE置換を日付に変換する

  16. 16

    予期しないregexp_replaceの結果を説明する

  17. 17

    regexp_replace()関数を使用して単語を変更することは可能ですか?

  18. 18

    oracle sql regexp_replace

  19. 19

    mysql regexp_replace with update

  20. 20

    VSCODEのregexp_replace

  21. 21

    .bashrcが原因でgitpushが失敗する

  22. 22

    Oracleのregexp_replaceとは異なる値が機能しない

  23. 23

    codenameoneでURLImage.createToStorageが失敗する

  24. 24

    JsonTestでSpring Autoconfigurationが失敗する

  25. 25

    MethodNodeの作成がIllegalStateExceptionで失敗する

  26. 26

    Java 11でOpenWebBeans CDIが失敗する

  27. 27

    Dockerfileでgit installが失敗する

  28. 28

    matches(not(isDisplayed()))がNoMatchingViewExceptionで失敗する

  29. 29

    pdf.jsがgetDocumentで失敗する

ホットタグ

アーカイブ