日期:2014-05-17  浏览次数:20825 次

哪里错了 求解!!!!!!sql语句!!!!
select a.* from gnss_vehiclegpsrealtime a where a.recordtime >= convert(varchar(20),getdate() - 7,120);
------解决方案--------------------
convert 是sqlserver的函数,可以展示不同的格式显示日期/时间数据
但是在oracle中,直接用
select a.* from gnss_vehiclegpsrealtime a where a.recordtime >= sysdate-7 

就可以实现对recordtime的过滤
------解决方案--------------------
oracle中convert()函数是用来编码字符串的,要过滤时间,可以用sysdate变量,它的单位是‘天’。当然还可以用to_date()函数
------解决方案--------------------
如2楼 oracle中的convert 是转换字符集用的,可以用to_date,to_char 过滤,系统时间是sysdate ,
  getdate() 是sqlserverde 的系统时间
------解决方案--------------------
这么写就行了:
select a.* from gnss_vehiclegpsrealtime a where a.recordtime >= sysdate() - 7;

你的错误:
1、Oracle中没有 convert的日期转换函数
2、Oracle中没有 getdate,如果获取系统日期,请使用sysdate.
------解决方案--------------------
oracle中日期的转换有convert函数吗?一般不都是to_date,to_char之类的