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