在MySQL中将函数的东西用于xml路径

问题描述 投票:1回答:2

我有一个SQL Server查询,我想使用MySQL,但我不知道如何使用MySQL函数

MyQuery

declare @query  as varchar(max)
declare @data  as varchar(max)

set @query =  STUFF((select ','+column_name from INFORMATION_SCHEMA.COLUMNS 
where TABLE_NAME = 'tbl_TestStockClaris' and ORDINAL_POSITION >= 4
for xml path('')),1,1,'')

set @data = 'select top 10 kodescala,'+@query+' from tbl_TestStockClaris'

execute(@data);
mysql sql sql-server
2个回答
0
投票

将您的sql查询变量作为字符串处理。

declare @query  as varchar(max)
declare @data  as varchar(max)

set @query =  'STUFF((select '',''+column_name from INFORMATION_SCHEMA.COLUMN 
where TABLE_NAME = ''kodescala'' and ORDINAL_POSITION >= 4
for xml path('''')),1,1,'''')';

set @data ='select top 10 kodescala,'+@query+' from tbl_TestStockClaris';

execute(@data);

0
投票

预备语句的示例

set @data = (select 
                 concat('select ' , gc, ' from dates limit 10;')
                from
                (select group_concat(column_name) gc from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'dates') s

                ); 

select @data;
PREPARE query from @data; 
EXECUTE query ;
deallocate prepare query;
© www.soinside.com 2019 - 2024. All rights reserved.