Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Kiểm tra độ dài của cột trong XMLTable

Bạn mắc lỗi chính tả và cách đặt tên không nhất quán nên thật khó để nói chính xác bạn đang thực sự làm gì để gặp lỗi đó, nhưng nó hoạt động nếu bạn sử dụng string-length() từ ví dụ DB2 của bạn, thay vì length() (hoặc lenght() ):

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

Với dữ liệu được sửa đổi để kích hoạt hành vi lỗi:

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. Bảng Oracle sử dụng một trình tự nào?

  2. Chuyển tên bảng vào con trỏ

  3. Cách thêm một vào chuỗi trong oracle

  4. Chỉ mục cơ sở dữ liệu B-Tree và Bitmap

  5. Diana là ai, và tại sao cô ấy không để các đối tượng cơ sở dữ liệu của tôi biên dịch?