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

Hapus tag Kosong dari oracle xmltype

Gunakan DELETEXML dan cari XPath //*[not(text())][not(*)] untuk menemukan elemen tanpa teks dan tanpa turunan:

SQL Fiddle

Pengaturan Skema Oracle 11g R2 :

CREATE TABLE table_name ( xml ) AS
SELECT XMLTYPE( '<MESSAGE>
<LOCATIONS>
  <LOCATION_ID>9999</LOCATION_ID>
  <LOC_TYPE>S</LOC_TYPE>
  <NAME>Test Location</NAME> 
  <PHONE_NUM>08 </PHONE_NUM>
   <LAST_MODIFIED_BY/>
   <LAST_MODIFIED_DATE/>
   <POS_CODE/>
</LOCATIONS>
</MESSAGE>' ) FROM DUAL;

Kueri 1 :

SELECT DELETEXML(
         xml,
         '//*[not(text())][not(*)]'
       ).getStringVal()
FROM   table_name

Hasil :

|                                                                                            DELETEXML(XML,'//*[NOT(TEXT())][NOT(*)]').GETSTRINGVAL() |
|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| <MESSAGE><LOCATIONS><LOCATION_ID>9999</LOCATION_ID><LOC_TYPE>S</LOC_TYPE><NAME>Test Location</NAME><PHONE_NUM>08 </PHONE_NUM></LOCATIONS></MESSAGE> |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL - Hasilkan dan perbarui kolom dengan nomor acak berbeda di setiap baris

  2. Rekomendasi untuk mendukung Oracle dan SQL Server di aplikasi ASP.NET yang sama dengan NHibernate

  3. RDLC LocalReport Ekspor ke Excel sangat lambat

  4. Dapatkan karyawan yang aktif selama rentang tanggal tertentu

  5. PL/SQL memanggil fungsi di dalam pemicu