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

sql-存在しない値を返す単一のクエリ

    10g以上を使用している場合は、CSV文字列を動的テーブルに変換する関数を作成できます。 この他の応答

    次のように使用します:

    select * from movies
    where title NOT in (
             select * 
              from table (string_tokenizer
                          (
                              'Scream, Scary Movie,Exorcist,Dracula,Saw,Hide and Seek'
                            )
    
                      )
         )
    /
    

    これは、追加のインフラストラクチャを必要としない、少し単純な実装です。

    SQL> select * from table(sys.dbms_debug_vc2coll('Scream',
    'Scary Movie',
    'Exorcist',
    'Dracula',
    'Saw',
    'Hide and Seek'
     ))
    /
      2    3    4    5    6    7    8  
    COLUMN_VALUE
    --------------------------------------------------------------------------------
    Scream
    Scary Movie
    Exorcist
    Dracula
    Saw
    Hide and Seek
    
    6 rows selected.
    
    SQL> 
    

    これは、テーブル値コンストラクター 、ただし、単一列の「テーブル」に対してのみ機能します。



    1. Oracleは、2つの日付の間の文字列としてフォーマットされた日付を取得します

    2. OracleVarchar2からの非ASCII文字の検索と削除

    3. ORACLePROCEDURE-AUTHIDはスキーマレベルでのみ許可されます

    4. 列番号はデータベースのパフォーマンスに影響を与えませんが、行数は影響を与えるというのは本当ですか?