0

我使用 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 语句,验证每一列都有一个名称。对于其他语句,请查找空别名。不允许使用定义为 "" 或 [] 的别名。将别名更改为有效名称。

我怎样才能做到这一点?由于某些原因,我必须使用数组作为该查询的参数。可能吗?

请我在这里需要一些帮助好人。

4

1 回答 1

0

哎呀我的坏。

显然我在查询之前使用了 CDATA 标签。

我将查询放在 xml 文件中。为了简化我的查询,我使用 CDATA 标记来避免使用特殊字符来表示“<”等。

在 Ibatis 代码之前关闭 CDATA 标签后,一切顺利。

非常感谢我的好人。

于 2016-07-30T09:10:24.517 回答