我有一个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);
将您的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);
预备语句的示例
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;