tags:

views:

231

answers:

2

I'm using MySQL, and I want to do a sort of ternary statement in my SQL like:

SELECT USER_ID, ((USER_ID = 1) ? 1 : 0) AS FIRST_USER
  FROM USER

The results would be similar to:

USER_ID | FIRST_USER
1       | 1
2       | 0
3       | 0
etc.

How does one accomplish this?

+4  A: 
SELECT USER_ID, (CASE USER_ID WHEN 1 THEN 1 ELSE 0 END) as FIRST_USER FROM USER
x2
Thanks, works great!
Langdon
This is the preferable answer - CASE is ANSI standard, the query would work without alteration on SQL Server, Oracle, MySQL, Postgres...
OMG Ponies
+2  A: 
SELECT USER_ID, IF(USER_ID = 1, 1, 0) AS FIRST_USER FROM USER

The IF() statement works similarly to the ternary ? : operator.

Jason