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

XMLTableの列の長さを確認してください

    タイプミスと一貫性のない名前付けがあるため、そのエラーを取得するために実際に何をしているのかを正確に判断するのは困難ですが、string-length()を使用すると機能します。 length()ではなく、DB2の例の関数 (またはlength() ):

    "address" varchar2(15) path 'address/(if(string-length(.)<=15) then . else "Error!")' 
    

    エラー動作をトリガーするようにデータを変更した場合:

    select *
    from XMLTABLE ('customers/*'
     passing xmltype('<customers>
     <customer>
      <name>abc</name>
      <surname>abc</surname>
      <address>abc def ghi jkl mno</address>
     </customer>
     <customer>
       <name>abc</name>
      <surname>abc</surname>
      <address>abc</address>
     </customer>
    </customers>')
    columns 
      "address"  varchar(15) path 'address/(if(string-length(.)<=15) then . else "Error!")' 
    ) data;
    
    address       
    ---------------
    Error!         
    abc            
    



    1. イベントで最大のシーケンシャルストリークを取得

    2. JQueryでSQLクエリを実行できますか

    3. RecyclerViewへのSQLiteデータ

    4. 参加の排除:SQLServerが不要なテーブルを削除する場合