sql >> Databáze >  >> RDS >> Oracle

Zkontrolujte délku sloupce v XMLTable

Máte překlepy a nekonzistentní názvy, takže je těžké přesně říct, co skutečně děláte, abyste se dostali k této chybě, ale funguje to, pokud použijete string-length() namísto length() (nebo lenght() ):

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

S upravenými daty ke spuštění chybového chování:

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. SQLite COUNT

  2. Výstup dotazu s odsazením

  3. Získejte názvy tabulek pomocí příkazu SELECT v MySQL

  4. Jak získat poslední pole v databázi Mysql pomocí PHP?