-1
SELECT 
    order_id,
    order_date,
    IF(YEAR(order_date) = YEAR(GETDATE()), 'active', 'archived') 
FROM 
    orders

enter image description here

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
Jlang
  • 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
  • 1
    You 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 Answers1

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