sql query where子句中的参数

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

我将运行这样的查询

SELECT * FROM table1
WHERE datasource_detail = '{"datasource_detail":[{"db_name":"database_temp","port":"3306","db_username":"root","host":"localhost","tab1":"table1","tab2":"table2"}]}'

但是需要获取参数

我尝试了这个,但是效果不好

SELECT * FROM table1
WHERE datasource_detail = '{"datasource_detail":[{"db_name":"database_temp","port":"3306","db_username":"root","host":"localhost","tab1":"'${tab1}'","tab2":"'${tab2}'"}]}'

有人帮助我吗?

哦,我在pentaho数据集成中运行此查询:输入表

mysql sql parameters pentaho
1个回答
0
投票

我建议您应该尝试将比较值放在@Variable中

Declare @Compared_Value nvarchar(500);
Set @Compared_Value = '{"datasource_detail":[{"db_name":"database_temp","port":"3306","db_username":"root","host":"localhost","tab1":"'${tab1}'","tab2":"'${tab2}'"}]}'

SELECT * FROM table1
WHERE datasource_detail = @Compared_Value

如果比较值的一部分是动态的,则应使用CONCAT语句来建立比较值设置@Compared_Value = CONCATE(part1,part 2,...)

© www.soinside.com 2019 - 2024. All rights reserved.