在 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。