oracle SQL语句,查询出来的语句要把时间类型转换为整数型或者字符型, 请老师们看看下面问题详情

我要达到查出来的时间数据进行判断, 比如说当前系统时间2016-5-20 那么我查出来的数据时间大于当前系统时间 就要进行此时间的数据更换为 整数型1 或者字符型 '1' 否则改为2 并且字段要进行别名。
我自己写过的SQL语句不行,求老师指点改进! 谢谢了

SQL一、
select (case (select 字段 from 表名 where 字段> sysdate) when 1 then 1 else 2 end)

AS 字段别名 from 表名;

报错: [Err] ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER

SQL二、
select (case (to_date "(select (字段> sysdate) AS 字段别名 from 表名)","yyyy-

mm-dd HH24:mm:ss")when '1' then '1' else '2' end)

AS 字段别名 from 表名;

报错:[Err] ORA-00972: 标识符过长

写的SQL语句感觉太乱,麻烦老师们耐心看看 指点指点, when 1 then 1 else 2 end 上方此处应该是大于当前系统时间就改为1 否则改为2

抱歉 没有分了。

select
    case when to_date(字段, 'yyyy-mm-dd') > sysdate
    then '1'    
    else '2'
    end AS 字段别名
from  表名;

温馨提示:答案为网友推荐,仅供参考
相似回答