Pivot/Unpivot SQL 结果集列名到单独的列中

Pivot/Unpivot SQL Result Set Column Names into Separate Column

我有这样的结果集:

Username Birthday Gender
Tom Jan 23 Male

我想把它转换成这样:

Name Value
Username Tom
Birthday Jan 23
Gender Male

有人告诉我 Pivot/Unpivot 是我要找的东西,但我找不到任何关于提取列名称的信息。

有办法吗?

您需要像下面这样使用 unpivot 子句:

select *
from Your_Table t
unpivot (
 value for name in (
  Username as 'Username'
, Birthday as 'Birthday'
, Gender as 'Gender'
 )
)
;