SELECT reg_ticket_id, reg_dt, reg_div_cde2, apn, NAME, doc_cde, view_dt,
cht_id, sex, CEIL ((MONTHS_BETWEEN (SYSDATE, birt_dt)) / 12) age1,
insu_type, status, view_doc
FROM reg_ticket
WHERE CEIL ((MONTHS_BETWEEN (SYSDATE, birt_dt)) / 12) >= 35
AND view_dt IS NOT NULL
AND first_tm = '0'
AND reg_div_cde2 IN
('1131', '1132', '1133', '1134', '1135', '1136', '1137', '1138',
'1130', '1901')
AND reg_dt BETWEEN '2009-10-01' AND '2010-10-18'
ORDER BY reg_dt ASC===============================================================================
上面是我的SQL查询语句,为什么不能筛选出age1>=35的记录?请指点
cht_id, sex, CEIL ((MONTHS_BETWEEN (SYSDATE, birt_dt)) / 12) age1,
insu_type, status, view_doc
FROM reg_ticket
WHERE CEIL ((MONTHS_BETWEEN (SYSDATE, birt_dt)) / 12) >= 35
AND view_dt IS NOT NULL
AND first_tm = '0'
AND reg_div_cde2 IN
('1131', '1132', '1133', '1134', '1135', '1136', '1137', '1138',
'1130', '1901')
AND reg_dt BETWEEN '2009-10-01' AND '2010-10-18'
ORDER BY reg_dt ASC===============================================================================
上面是我的SQL查询语句,为什么不能筛选出age1>=35的记录?请指点
cht_id, sex, CEIL ((MONTHS_BETWEEN (SYSDATE, birt_dt)) / 12) age1,
insu_type, status, view_doc
FROM reg_ticket
WHERE CEIL ((MONTHS_BETWEEN (SYSDATE, birt_dt)) / 12) >= 35
你不加其他條件試一下
SELECT emp.*,CEIL ((MONTHS_BETWEEN (SYSDATE,HIREDATE)) / 12) age1 FROM emp
WHERE CEIL ((MONTHS_BETWEEN (SYSDATE,HIREDATE)) / 12) >= 30
FROM reg_ticket
WHERE birt_dt + interval '35' year < sysdate;
查詢一下這句的結果
--单独看不出什么错误 试下下面的birt_dt<=sysdate-interval '35' year
2
--CEIL ((MONTHS_BETWEEN (SYSDATE, birt_dt)) / 12) >= 35 这样也可以birt_dt<=add_months(sysdate,-35*12)