Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Correct syntax for 'CASE WHEN' clause
Bob wrote:
> I'm getting the following error trying to use a 'CASE WHEN' expression in a
> SELECT statement.
>
> SQL> select case when contract_coupon_type = 'm'
> 2 then 'Manufacturer'
> 3 else 'Retailer'
> 4 end as x
> 5 from contract_t;
> select case when contract_coupon_type = 'm'
> *
> ERROR at line 1:
> ORA-00923: FROM keyword not found where expected
>
> I can't find any reference to 'CASE WHEN' in the online Oracle docs.
> Does Oracle support this? If not, how do I implement equivalent
> functionality? If so, what am I doing wrong?
>
> Both the table name and column name are valid as:
>
> Select contract_coupon_type from contract_t;
>
> returns valid data.
>
> Thanks,
>
> Bob
>
> Replace 'X' with 'A' to send me mail.
The Oracle doesn't have 'CASE WHEN' clause. Try that way:
select DECODE(contract_coupon_type,'m','Manufacturer','Retailer') from contract_t;
![]() |
![]() |