Oracle
 sql >> база данни >  >> RDS >> Oracle

Потърсете низ за модел на регулярен израз и заменете всяко срещане като производно на себе си в oracle SQL

Не regexp, но работи.

select  xmlcast( xmlquery('for $w in tokenize($text," ") return
    if(fn:matches($w,"[0-9]{1,3}")) then (xs:decimal($w)+$offset) else ($w)'
                passing 'i want to increase those numbers 20 and 15' as "text", 5 as "offset" returning content) as varchar2(1000))
  from dual;

Решението търси цели числа в текста. За десетичен вътрешен регулярен израз трябва да бъде разширен.

\d и [:цифра:] не се поддържат от xmlquery



  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 при връщане

  2. Създайте дата от година, месец и ден

  3. PHP &Oracle - oci_connect() ORA-12705:Няма достъп до NLS файлове с данни

  4. Съпоставяне на булево свойство към Oracle с помощта на Entity Framework

  5. ИЗБЕРЕТЕ INTO с помощта на Oracle