Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Periksa panjang kolom di XMLTable

Anda memiliki kesalahan ketik dan penamaan yang tidak konsisten sehingga sulit untuk mengatakan dengan tepat apa yang sebenarnya Anda lakukan untuk mendapatkan kesalahan itu, tetapi itu berfungsi jika Anda menggunakan string-length() fungsi dari contoh DB2 Anda, daripada length() (atau lenght() ):

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

Dengan data yang dimodifikasi untuk memicu perilaku kesalahan:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jalankan Untuk Setiap Tabel di PLSQL

  2. terhubung dengan bulan

  3. Konversi dari ANSI ke Oracle Join Syntax

  4. npm install oracledb memberikan kesalahan:Tidak dapat menemukan $OCI_LIB_DIR/libclntsh.dylib

  5. Mengikat parameter kueri berdasarkan nama dengan ODP.NET