小编use*_*739的帖子

SQL Server:将行转置为列

除了将光标写入每行并将其填充到列中之外,如果我需要将每行转置为列,还有其他任何替代方法吗?

TimeSeconds TagID Value
1378700244  A1    3.75
1378700245  A1    30
1378700304  A1    1.2
1378700305  A2    56
1378700344  A2    11
1378700345  A3    0.53
1378700364  A1    4
1378700365  A1    14.5
1378700384  A1    144
1378700384  A4    10
Run Code Online (Sandbox Code Playgroud)

列数不固定.

输出:我刚刚将n/a指定为占位符,该交集中没有数据.

TimeSec     A1    A2    A3    A4
1378700244  3.75  n/a   n/a   n/a
1378700245  30    n/a   n/a   n/a
1378700304  1.2   n/a   n/a   n/a
1378700305  n/a   56    n/a   n/a
1378700344  n/a   11    n/a   n/a
1378700345  n/a   n/a   0.53  n/a
1378700364  n/a   n/a   n/a   4
1378700365  14.5  n/a   n/a …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server-2005

29
推荐指数
3
解决办法
10万
查看次数

TSQL - 使用LIKE进行多个值的部分匹配

我想征求你的意见,SQL服务器中的任何函数是否允许我对值列表执行部分匹配?

需要匹配的整个字符串将通过存储过程传递.

我想在编写自己的函数之前找到其他替代方法,用逗号分割字符串,然后在将数据返回给程序之前将所有结果联合起来.

例如,我将以下字符串传递给我的TSQL

苹果,橘子,梨

在我的WHERE条款中它应该匹配

select * from store where fruits like 'apple%'
select * from store where fruits like 'orange%'
select * from store where fruits like 'pear%'
Run Code Online (Sandbox Code Playgroud)

我可以在单个SQL语句中实现上述结果,而不是编写函数来打破每个字符串吗?

我表中的数据

apple red
apple green
orange sweet
orange sour
pear big
pear small
Run Code Online (Sandbox Code Playgroud)

所以,当我传入字符串"apple,pear"时,我需要返回

apple red
apple green
pear big
pear small
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

7
推荐指数
3
解决办法
1万
查看次数

标签 统计

sql ×2

t-sql ×2

sql-server ×1

sql-server-2005 ×1