sql >> Database teknologi >  >> RDS >> Oracle

Tjek længden af ​​kolonnen i XMLTable

Du har tastefejl og inkonsekvent navngivning, så det er svært at sige præcis, hvad du virkelig gør for at få den fejl, men det virker, hvis du bruger string-length() funktion fra dit DB2-eksempel i stedet for lenght() (eller lenght() ):

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

Med modificerede data for at udløse fejladfærden:

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. Hvorfor kan primærnøgle ikke indeholde null-værdier?

  2. beregne de fleste brugere nogensinde online med MySQL

  3. Største værdi fra to eller flere felter

  4. Funktionsalias for Postgres standardfunktion