Как я могу преобразовать дату ввода параметра в формат YYYYWW и использовать ее в разделе SQLStatement в XML-издателе? - PullRequest
1 голос
/ 02 апреля 2019

Я создал файл XML в качестве шаблона определения данных для моего издателя XML.Шаблон данных имеет два параметра, которые являются датой (startdate, enddate).Но эти входные даты должны быть преобразованы в формат 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'

1 Ответ

1 голос
/ 02 апреля 2019

Поскольку вы используете NVL (), я предполагаю, что это OracleSQL.

Дата может быть переведена в форматированную строку с помощью TO_CHAR(date, format)

... 
and revision_week between TO_CHAR(:P_Start_week, 'YYYYWW') and TO_CHAR(:P_End_week, 'YYYYWW') 
...
...