阅读量:0
在 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
。