WSO2 DSS 3.2.0/3.2.1无法识别LIKE语句中的命名参数

WSO2 DSS 3.2.0/3.2.1无法识别LIKE语句中的命名参数,wso2,wso2dss,named-parameters,Wso2,Wso2dss,Named Parameters,我使用wso2 dss创建了一个简单的数据服务,如下所示 查询:从dbo.configs中选择id、key、value、description,其中key类似“%:filter%” 最终XML: <query id="select_all_configs_like_query" useConfig="default"> <sql>SELECT id, key, value, description FROM dbo.configs where key like '%:fi

我使用wso2 dss创建了一个简单的数据服务,如下所示

查询:从dbo.configs中选择id、key、value、description,其中key类似“%:filter%”

最终XML:

<query id="select_all_configs_like_query" useConfig="default">
<sql>SELECT id, key, value, description FROM dbo.configs where key like '%:filter%' </sql>
<result element="configsCollection" rowName="configs">
    <element column="id" name="id" xsdType="xs:integer"/>
    <element column="key" name="key" xsdType="xs:string"/>
    <element column="value" name="value" xsdType="xs:string"/>
    <element column="description" name="description" xsdType="xs:string"/>
</result>
<param name="filter" sqlType="QUERY_STRING"/>
</query>
<operation name="select_all_configs_like_operation">
    <call-query href="select_all_configs_like_query">
        <with-param name="filter" query-param="filter"/>
    </call-query>
</operation>
当我调用服务时,它会以空响应进行响应。控制台上没有错误。一旦我检查了数据库历史记录,查询记录如下

从dbo.configs中选择id、key、value和description,其中key类似“%:filter%”


看起来参数未分配给实际查询。有什么帮助吗?

您可以在SQL语句中使用Concat函数,例如Concat“%”,:filter“%”

谢谢您的回复。从dbo.configs中选择id、key、value、description,其中CONCAT“%”、:filter“%”等键不起作用。您是否尝试过CONCAT:filter“%”或CONCAT“%”、:filter?我使用的是DSS版本3.2.1和CONCAT:filter,“%”对我有效您使用的是哪个版本?