首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mule 4-将开始日期和结束日期设置为QueryParams

Mule 4-将开始日期和结束日期设置为QueryParams
EN

Stack Overflow用户
提问于 2022-10-27 15:29:17
回答 1查看 38关注 0票数 0

我很难将开始日期和结束日期定义为查询参数。当数据被提取时,它需要返回一个基于查询参数的日期范围。GET看起来像http://localhost:8081/test?FileType=Sales&StartDate=2022-10-01&EndDate=2022-10-26。这将返回数据的日期范围为10/1/2022-10/26/2022。

在我的查询中,我的where子句设置为:

代码语言:javascript
复制
where dp.Nid = 405 and fs.DDate=:DDate

**dp和fs在我的联接中使用,405是唯一标识产品的ID。

我的输入参数:

{ DDate : attributes.queryParams.StartDate, DDate : attributes.queryParams.EndDate }

我需要设置什么来确定一个日期范围?是否需要将开始日期设置为>,将结束日期设置为<?此外,在使用存储过程而不是在任意点演播室中使用select数据库方法时,是否可以定义查询参数?

EN

回答 1

Stack Overflow用户

发布于 2022-10-27 18:31:35

Mule 4中的操作(即流中的框)可以有多个输入(有效载荷、变量、属性)和1个输出,但它们应该是相互独立的。数据库查询操作不关心它的输入是来自查询参数还是来自其他地方。您需要显式地将输入映射到查询中的参数。

一旦您有了参数,就需要在SQL查询中使用它们。通常,这意味着添加大于或小于比较的值,以确保值在范围内。或者相同的包含也等于,如果业务逻辑需要的话。

根据数据类型和SQL方言,您可能需要将输入转换为与列的数据库类型兼容的日期格式。这里的输入是字符串,因为查询参数总是被解析到的。在DataWeave或SQL查询中,您需要了解和查看如何转换列类型。

例如:

代码语言:javascript
复制
<db:select config-ref="dbConfig">
    <db:sql>SELECT ... WHERE dp.Nid = 405 AND fs.DDate >= :StartDate AND fs.DDate <= :StartDate</db:sql>
    <db:input-parameters>
      #[{
          StartDate : attributes.queryParams.StartDate, 
          EndDate : attributes.queryParams.EndDate 
       }]
    </db:input-parameters>
</db:select>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74224586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档