sql >> Databasteknik >  >> RDS >> Oracle

villkorlig välj-sats i oracle

Du kan använda en yttre sammanfogning så här:

SELECT OrderId,
       OrderDate, 
       case when holidaydate is not null then  'Public holiday' 
             else to_char(OrderDate, 'Day') end as DAY
from orders
     left outer join holidays
        on OrderDate = holiday_date ;

Om datumen matchar holidaydate är inte null så CASE-satsen visar din önskade sträng annars visar den dagen för orderdate .

orders är ett reserverat ord. Förmodligen har din riktiga tabell ett annat namn, för att undvika ora-00903 fel. Jag har använt orders i mitt exempel, så du måste redigera min kod så att den matchar dina tabellnamn.



  1. Lagra persisk\arabisk text i mysql-databas

  2. bryggtjänster:var redigerar man konfigurationen?

  3. Spara stora data.frame i PostgreSQL med R

  4. dela rader i rödförskjutning