我正在尝试执行本机查询并传递运行时参数并以列表形式获取结果。当我尝试处理Object []时,所提取的列之一是一个String。但它出现为java.lang.Character而不是String。以下是下面的查询:JPA本机查询
SELECT CASE
WHEN (TRUNC(abm.credit_card_expiration_date) BETWEEN trunc(SYSDATE) AND
trunc(last_day(SYSDATE))) THEN
'Expires'
ELSE
'Expired'
END EXP_STATUS,
TO_CHAR(abm.credit_card_expiration_date, 'MM/YY') EXP_DATE
FROM account_billing_methods abm
WHERE abm.account_id = 201103
AND abm.billing_type_id = 1
AND TRUNC(abm.credit_card_expiration_date) <= TRUNC(LAST_DAY(SYSDATE))
由于EXP_STATUS列的类型为Character,因此无法将其转换为String类型。任何想法为什么它不工作?
问候, -Anand
它是'Character'还是'Character []'? – 2011-05-23 17:46:18
甚至String.valueOf(Obj [0])仅导致获取的柱的第一个字符,即'E' – Anand 2011-05-23 17:47:04
getClass.getName()表示它的类型为java.lang.Character – Anand 2011-05-23 17:47:37