我使用Ibatis 1.6版
我知道ibatis可以从数组参数中读取值。这是我的代码
SELECT count(1)
FROM
TB_R_SW103_TAM r
WHERE
AND convert(DATE,r.TAM_APPROVED_DATE) between convert(DATE, #[0]#)
AND convert(DATE, #[1]#)
但我需要先检查这个值,不管它是否为空。
SELECT count(1)
FROM
TB_R_SW103_TAM r
WHERE
<isNotEmpty prepend="" property="[0]">
AND convert(DATE,r.TAM_APPROVED_DATE) between convert(DATE, #[0]#)
AND convert(DATE, #[1]#)
</isNotEmpty>
但当我这样做的时候,我犯了一个错误。
对象或列名丢失或为空。对于SELECT INTO语句,请验证每列都有一个名称。对于其他语句,请查找空别名。不允许使用定义为"或[]的别名。将别名更改为有效名称。
我该怎么做?由于某些原因,我不得不使用数组作为该查询的参数。有可能吗?
伙计们,我需要帮助。
Ooops my bad。
显然,我在查询之前使用了CDATA标记。
我把查询放在xml文件中。为了简化我的查询,我使用CDATA标签来避免使用"<"等特殊字符。
在Ibatis Code之前关闭CDATA Tag后,一切都很顺利。
非常感谢我的好伙计们。