将日期字符串传递给ibatis查询中的函数



我将一个日期字符串传递给用于比较的ibatis查询。然而,我得到了一个错误

SELECT PATIENT_SUFFIX_NM,
       INTRPT_CLM_TXT,
       DAYS(DATE(#{batch_dt_ud})) - DAYS(INTRPT_CLM_ENTR_TS) AGE_OF_CLAIM
FROM INTERRUPTED_CLAIM
WHERE KEYER_ID=#{keyer_id}

错误为

"要准备的语句字符串包含对参数标记的无效使用"

并且抱怨CCD_ 1的日期函数使用
我可以不将ibatis字符串参数传递给日期函数吗?。

Thanx。

您可以尝试定义一个parameterMap。

<parameterMap id="ParameterMapName"  type="ClassTypeOfHowYouPassParameters">
    <parameter property="keyer_id" mode="IN"/>
    <parameter property="batch_dt_ud" jdbcType="DATE" mode="IN"/>
</parameterMap>

您的查询将类似于:

<select id="QueryNameForCalling" parameterMap="ParameterMapName" resultType="string">
       SELECT PATIENT_SUFFIX_NM,
       INTRPT_CLM_TXT,
       DAYS(DATE(#{batch_dt_ud})) - DAYS(INTRPT_CLM_ENTR_TS) AGE_OF_CLAIM
       FROM INTERRUPTED_CLAIM
       WHERE KEYER_ID=#{keyer_id}
</select>

我假设您返回一个字符串resultType="string"

最新更新