sql >> Databáze >  >> RDS >> Oracle

dynamické číslo kde podmínka v oracle sql

Zkuste

select something
  from somewhere
 where someColumn in (select regexp_substr('abc-def-xyz','[^-]+', 1, level) from dual
                     connect by regexp_substr('abc-def-xyz', '[^-]+', 1, level) is not null);

Pro zobecnění (vzhledem k tomu, že vaše pole jsou oddělena „-“)

select something
  from somewhere
 where someColumn in (select regexp_substr(variable,'[^-]+', 1, level) from dual
                     connect by regexp_substr(variable, '[^-]+', 1, level) is not null);

V podstatě výstup poddotazu je uveden níže -

  SQL> select regexp_substr('abc-def-xyz','[^-]+', 1, level) value from dual
      connect by regexp_substr('abc-def-xyz', '[^-]+', 1, level) is not null;

VALUE                            
-------------------------------- 
abc                              
def                              
xyz  


  1. Problém s SQL Server 2008 Intellisense

  2. Jak spravovat časové pásmo pro různé uživatele z různých zemí pro webovou aplikaci php?

  3. Foreach smyčka pomocí řetězce pro výstup XML

  4. SQLT a dělení