2017-02-07 1 views
1

Wie kann ich diese wählen in Oracle bauen:Wie ein berechnetes Feld bekommen in SELECT Vergleich mit SYSDATE

SELECT DATETYPE_FIELD, DATETYPE_FIELD < SYSDATE AS IS_ON_DATE FROM MYTABLE 

DATETYPE_FIELD ein DATE Feld ist. Ich möchte etwas wie TRUE/FALSE in berechneten IS_ON_DATE Feld erhalten. VERWENDUNG dieser SELECT immer noch einen Fehler in ORACLE.

Wie kann das gemacht werden?

Antwort

4

In Oracle gibt es keinen booleschen Typ. Sie können 1 oder 0 verwenden, um wahr oder falsch wie folgt zu bezeichnen:

select DATETYPE_FIELD, 
    case 
     when DATETYPE_FIELD < SYSDATE 
      then 1 
     else 0 
     end as IS_ON_DATE 
from MYTABLE 

oder string „wahr“ und „falsch“

select DATETYPE_FIELD, 
    case 
     when DATETYPE_FIELD < SYSDATE 
      then 'true' 
     else 'false' 
     end as IS_ON_DATE 
from MYTABLE 
+0

Dank für Ihre schnelle Antwort danken. Das ist eine gute Lösung für mich. – Falinsito

+0

@ user3749378 - Ich bin froh, dass es geholfen hat. :-) – GurV

Verwandte Themen