小编Som*_*azz的帖子

在 SQL 中使用相对列名值计算 DATE 值

我有一个表,其中有一些特殊的数据排列,其中有 28-31 列对应于一系列唯一 ID 的月份日期。我想做的是将其转化为具有实际日期值的更可行的格式。我的表格如下所示:

DECLARE @Month VARCHAR(3) 
SET @Month = 'NOV'
Run Code Online (Sandbox Code Playgroud)
ID 地位 1 2 3 4 5
111 积极的 A 2 3 4 Z
222 不活跃 Z 5 F 6 7

理想情况下,我希望有一种方法可以将其转换为如下所示的内容:

ID 地位 日期 价值
111 积极的 11/1/2022 A
111 积极的 11/2/2022 2
111 积极的 11/3/2022 3
111 积极的 11/4/2022 4
111 积极的 11/5/2022 Z
222 不活跃 11/1/2022 Z
222 不活跃 11/2/2022 5
222 不活跃 11/3/2022 F
222 不活跃 11/4/2022 6
222 不活跃 11/5/2022 7

在对性能进行一些小的考虑的情况下,对于列数(相对于一个月中的不同天数)灵活的方法将是更可取的。

sql t-sql sql-server sql-server-2019

1
推荐指数
1
解决办法
98
查看次数

标签 统计

sql ×1

sql-server ×1

sql-server-2019 ×1

t-sql ×1