我想用case语句来检查信用卡的到期日。我有两张table-
表a-账号、账号
表b-账号、账户状态、信用卡到期日期
以上字段的数据类型为-账户号-编号、账户id-编号、账户状态-编号、信用卡到期日期-字符
我必须写查询,以检查卡是否将在30天或60天到期。下面是我的查询,但在第4行给出了无效的关系运算符错误。
SELECT a.account_no, a.account_id, b.account_status,b.date_of_card_expiry
FROM Table_A a
JOIN Table_B b
ON (a.account_no = b.account_no
AND a.account_id IN ('1','2','7')
AND (
CASE WHEN (to_date(b.date_of_card_expiry, 'MMYY')) = to_date(to_char(sysdate+60, 'MMYY'),'MMYY') then 'card will expire after 2 months'
CASE WHEN (to_date(b.date_of_card_expiry, 'MMYY')) = to_date(to_char(sysdate+30, 'MMYY'),'MMYY') then 'card will expire after 1 month'))
请帮我纠正这个问题。
1条答案
按热度按时间eoigrqb61#
您需要使用条件作为列,如下所示。
我修改了标准逻辑,如果今天和卡到期日的天数相差超过60天,那么它标记为“卡在2个月后到期”和“卡在30天以上”,改为“卡在1个月后到期”。但我认为如果日期的差异不符合这两个标准中的任何一个,你也需要另外一个部分出现