如何将参数输入日期转换为YYYYWW格式并在XML发布者的SQLStatement部分中使用它?

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

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

这是我的数据模板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'
xml bi-publisher oracle-xml-publisher
1个回答
1
投票

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

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

... 
and revision_week between TO_CHAR(:P_Start_week, 'YYYYWW') and TO_CHAR(:P_End_week, 'YYYYWW') 
...
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.