SELECT
order_id,
order_date,
IF(YEAR(order_date) = YEAR(GETDATE()), 'active', 'archived')
FROM
orders
Asked
Active
Viewed 39 times
-1
-
i am just trying to do a if statement , it can be obtained via case SELECT order_id as test, order_date as petcha, CASE WHEN YEAR(order_date) = YEAR(GETDATE()) THEN 'active' ELSE 'archieved' END as testing101 FROM orders – Jlang Mar 26 '22 at 23:54
-
1You are missing an `I`. `IIF()` – Stu Mar 27 '22 at 00:11
-
Looks like you're confusing `MySQL`'s IF to `SQL Server`'s. This should answer your question: [How do I perform an IF...THEN in an SQL SELECT?](https://stackoverflow.com/questions/63447/how-do-i-perform-an-if-then-in-an-sql-select) – PajLe Mar 27 '22 at 00:13
1 Answers
0
This should work in BigQuery:
SELECT
order_id,
order_date,
CASE
WHEN EXTRACT(YEAR FROM order_date)=EXTRACT(YEAR FROM CURRENT_DATE()) THEN "active"
ELSE "archived"
FROM
orders

schustan235
- 36
- 3