要用to_date语句
例如
SELECT to_date('18-JUN-99','dd-mm-yy') FROM dual其中:
TO_DATE(dateStr, 'DD-MM-YY')
是按照指定格式,将字符串dateStr转换为DATE类型的值
不过,得到的日期是
2099/06/18
哈哈
于是,你就得设定一个分界点,例如取80为界,
即:假定'18-JUN-80'被认为是1980年,'18-JUN-79'被认为是2079年
那么,语句这样写:
SELECT 
    CASE 
        WHEN ( TO_NUMBER( SUBSTR('18-JUN-99', 8, 2)) > 79) 
            THEN ADD_MONTHS( TO_DATE('18-JUN-99','dd-mm-yy'), -1200)
        ELSE TO_DATE('18-JUN-99','dd-mm-yy') 
    END
FROM DUAL;
其中:ADD_MONTHS(dateVal -1200)是在时间值dateVal上减去100年得到的就是正确的时间
1999/06/18