Results 1 to 2 of 2
  1. #1
    Join Date
    Oct 2003
    Posts
    1

    Unanswered: If-Then-Else in Where Clause???

    Note, this a simplified version of what I am trying to resolve, but hopefully illustrates my question appropriately.
    Any help is welcome!

    Is it possible to use an "If, Then, Else" or "Decode" or "Case" statement in the where clause of a PL/SQL command?

    Example:

    Define &p1 = 'Y'
    Define &p2 = '01/01/2001 00:00:00'
    Define &p3 = '06/30/2001 23:59:00'

    Select
    *
    From
    Table
    Where
    -- Attempt #1
    If &p1 = 'Y' Then Date_From_Table >= &p2 Else Date_From_Table > &p3 End If
    -- Attempt #2
    Case When &p1 = 'Y' Then Date_From_Table >= &p2 Else Date_From_Table > &p3 End
    -- Attempt #3
    Decode(&p1, 'Y', Date_From_Table >= &p2, Date_From_Table > &p3)

  2. #2
    Join Date
    Jun 2003
    Location
    West Palm Beach, FL
    Posts
    2,713

    Question

    Did you try this:

    Code:
    
    Select * From Table
    Where ( '&p1' = 'Y' And Date_From_Table >= '&p2') 
       Or ( '&p1' != 'Y' And Date_From_Table > '&p3') 
    
    The person who says it can't be done should not interrupt the person doing it. -- Chinese proverb

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •