在 SQL 中,可以通過使用CASE
語句和WHEN
子句將一列數據分成多列。下面是一個示例:
假設有一個名為orders
的表,其中包含order_id
和order_date
兩列數據,現在要將order_date
列按照年份、月份和日期分成三列。
SELECT
order_id,
order_date,
CASE
WHEN order_date IS NOT NULL THEN YEAR(order_date)
ELSE NULL
END AS year,
CASE
WHEN order_date IS NOT NULL THEN MONTH(order_date)
ELSE NULL
END AS month,
CASE
WHEN order_date IS NOT NULL THEN DAY(order_date)
ELSE NULL
END AS day
FROM orders;
在上面的示例中,使用了三個CASE
語句分別將order_date
列按照年份、月份和日期拆分成三列year
、month
和day
。如果order_date
為空,則將對應的拆分列置為NULL
。