sql >> データベース >  >> RDS >> Oracle

LISTAGG奇妙な連結

    この質問に出くわした他の人のために、DUMP関数に関するドキュメントを追加するだけです。

    あなたの問題は興味深いものです。皆さんが理解したことから、ダンプ関数は、フィールドがダンプ関数の出力(Typ =1)によって示されるVarchar2フィールドであることを単に示しているので、列は問題ないように見えます。文書化できたいくつかのダンプデータ型の値の画像の下に貼り付けました。

    OracleのDump関数の操作例を示すために、以下に素敵なコードスニペットを貼り付けました。

    SELECT 
        DUMP(to_date('15-JAN-18'),10,1,1) AS date_type
      , DUMP(123,10,1,1)   AS num_type
      , DUMP('abc',10,1,1) AS var_or_char_type
    FROM dual
    ;
    
    /* OUTPUT: 
     |
     | "DATE_TYPE"          "NUM_TYPE"          "VAR_OR_CHAR_TYPE"
     |--------------------|-------------------|------------------
     | "Typ=13 Len=8: 226"  "Typ=2 Len=3: 194"  "Typ=96 Len=3: 97"
    */
    

    基本的に、このフィールドでこのデータを入力しているエンティティを見つけて、これらの奇妙な文字を取り除きたい場合は、そのソースで修正します。




    1. 比較して、複合キー

    2. mysqlフィールドに保存されますが、エコー時に改行はありません

    3. TransactSQLでNOTEXISTSではなくEXCEPTを使用する場合

    4. PostgreSQLにはOracleのLEVELのような疑似列がありますか?