oracle 语句取时间(times)字段 加5分钟 大于等于当前系统时间的语句怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 语句取时间(times)字段 加5分钟 大于等于当前系统时间的语句怎么写相关的知识,希望对你有一定的参考价值。

oracle 语句取时间(times)字段 加5分钟 大于等于当前系统时间的语句怎么写

1、创建测试表,

create table test_date(id number, times date);

2、插入测试数据

insert into test_date select level, sysdate-level/24/60 t from dual connect by level <= 100;

commit;

3、查询表中数据,select t.* from test_date t;

4、编写sql,获取加5分钟大于等于当前系统时间的记录; select t.* from test_date t where times+5/24/60>=sysdate;

参考技术A 先介绍时间:
1. 5分钟的实现,加上5/(24*60)就可以了
select sysdate as "当前时间",sysdate+5/(24*60) as"当前时间+5分钟" from dual;
2. 大于等于当前系统时间实现
只要加上这个where语句就行了
create_time > = sysdate;

---------------华丽丽的分割线-------------------------

所以您要的语句应该是这样的:
select times+5/(24*60) as "加5分钟",times as "不加时间" from 表
where times > = sysdate;本回答被提问者和网友采纳
参考技术B 可以在代码层处理呀

oracle 取重复数据中一条

表结构id(number)类, time(date)类,可用to_char(time,'yyyy-mm-dd')表示
id不唯一,有重复,time唯一。要找出每个id最早出现的那几行数据(几个id就有几行)
select * from table group by id having count(id)>1 order by to_char(time,'yyyy-mm-dd');这样对么?不对的话应该如何写?

操作步骤:

    先按要求,针对某唯一字段,对重复数据进行分组,取max或min,结果存储到临时表

    关联原表与上一步的临时表,取到相应的数据

如:

表tt结构如下:

create table tt(
    id number,
    time date,
    others ....   其它字段
);

,  id不唯一,有重复,time唯一。

要找出每个id最早出现的那几行数据,有几个id就有几行输出。

分析:出现最早的数据,即time最小的数据,用min(time)来分组

SQL语句如下:

select t2.* from
   ( select id, min(time) tm from tt group by id ) t1, tt t2
where t1.id=t2.id and t1.tm=t2.time ;

 说明:子语句( select id, min(time) tm from tt group by id ) 就是得到每个id的最小时间列表

参考技术A select * from table_name a where a.rowid <=(select min(rowid) from table_name b where a.id=b.id) order by id asc;
这个语句是查询出id相同的记录,并按照id递增排序,试试看,如果有什么错误回复我。追问

和表b有什么关系?这个语句我见过。我不用这样,我的目的只是重复的中取一条。

追答

表b还是表a只是别名,用来区分的。这个查询是查询的同一个表。

本回答被提问者采纳

以上是关于oracle 语句取时间(times)字段 加5分钟 大于等于当前系统时间的语句怎么写的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 给表加多个字段

sql怎么取时间字段的年月日的值

oracle 查询语句 我有两个字段,例如 字段1 字段2 1 2 5

问个oracle sql问题

oracle当表A1,数据发生update时,将字段time更新为当前时间

oracle中修改当前时间,使之当前时间增加一个月。语句如何写??