1

我为我的 xml 发布者创建了一个 xml 文件作为数据定义模板。数据模板有两个参数,即日期(开始日期,结束日期)。但是这个输入日期应该转换为 YYYYWW 格式,以便在我的 SQL 语句中我可以使用开始日期和结束日期来检查给定日期(YYYYWW 格式)是否在开始日期和结束日期之间。

这是我的数据模板 xml 中的参数:

<parameters>
        <parameter name="P_org_id" datatype="number"/>
        <parameter name="P_Account_Number" dataType="number"/>
        <parameter name="P_Start_week" dataType="date"/>
        <parameter name="P_End_week" dataType="date"/>

</parameters>

这是我必须使用参数值的 sql 语句部分

select x,y,......z
from apps.XXONT_M545_CUST_COVG_DATA cd
where
cust_org =:P_org_id
and revision_week between :P_Start_week and :P_End_week
and account_number = NVL(:P_Account_Number, account_number) 
and hold_yn = 'Y'
4

1 回答 1

1

由于您使用的是 NVL(),我假设这是 OracleSQL。

日期可以转换为格式化字符串TO_CHAR(date, format)

... 
and revision_week between TO_CHAR(:P_Start_week, 'YYYYWW') and TO_CHAR(:P_End_week, 'YYYYWW') 
...
于 2019-04-02T12:58:52.640 回答