除了将光标写入每行并将其填充到列中之外,如果我需要将每行转置为列,还有其他任何替代方法吗?
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服务器中的任何函数是否允许我对值列表执行部分匹配?
需要匹配的整个字符串将通过存储过程传递.
我想在编写自己的函数之前找到其他替代方法,用逗号分割字符串,然后在将数据返回给程序之前将所有结果联合起来.
例如,我将以下字符串传递给我的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)