oracle中data类型和number类型怎么比较

我从数据库中取出的数据是DATA类型,从页面拿到的数据是number类型,怎么样去比较(是放到SQL中执行,要取某一段时间内的数据)

首先要理解时间类型的和数字类型的本身没有可比性。但是如果是两个时间的间隔和数字类型的就可以进行比较。所以你是不是想说数据库的data和另外一个时间的间隔和页面输入的nunber类型相比较?如果是这样那么可以这样写:
select * from tablename A where (sysdate-A.a)>to_number('str')
语句中的tablename为查询的表名;a为data类型的字段,sysdate这个是当前的时间,str为页面输入的数字。整句的意思是查询tablename表的a字段和当前间隔大于页面输入的str时间的数据。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-29
页面取值的时候就应该去data类型,如果取不到那你只能格式化number类型的数据为data类型。
第2个回答  2013-06-29
转换为日期吧,执行效率要高一些。to_date即可。
第3个回答  2013-06-29
可以用to_char()函数将date类型数据转换为varchar类型数据,也可以用to_number()函数将varchar类型数据转换为number类型数据。
相似回答