重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1,比较当前时间与指定时间相差分钟数:
萧县网站建设公司创新互联公司,萧县网站设计制作,有大型网站制作公司丰富经验。已为萧县千余家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的萧县做网站的公司定做!
select sysdate,
sysdate - to_date('2007-04-03 13:45:39','yyyy-mm-dd hh24:mi:ss')
from dual
输出结果:2007-4-4 AM 10:45:56 0.875196759259259
select sysdate,to_date('2009-2-20 17:45:39','yyyy-mm-dd hh24:mi:ss'),
ROUND(TO_NUMBER(sysdate - to_date('2009-2-20 17:45:39','yyyy-mm-dd hh24:mi:ss')) * 24 * 60)
from dual;
输出结果:2009-2-20 17:36:14 2009-2-20 17:45:39 -9
2,同理,可比较相差天数、小时数、秒数等,只需根据需要替换下面的参数:
两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差(分别以天,小时,分钟,秒,毫秒):
天:
ROUND(TO_NUMBER(END_DATE - START_DATE))
小时:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)
分钟:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)
秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60)
毫秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 1000)
3,格式输出
select extract(DAY from interval)||'天'||extract(HOUR from interval)||'小时'||extract(MINUTE from interval)||'分钟'||extract(SECOND from interval)||'秒' 间隔 from (
select numtodsinterval(to_date('2008-10-09 12:30:18','yyyy-mm-dd hh24:mi:ss
')-to_date('2008-10-28','yyyy-mm-dd'),'DAY') interval from dual
)
输出:-18天-11小时-29分钟-41.999999999秒
当前时间减去7分钟的时间
select sysdate,sysdate - interval '7' MINUTE from dual;
当前时间减去7小时的时间
select sysdate - interval '7' hour from dual;
当前时间减去7天的时间
select sysdate - interval '7' day from dual;
当前时间减去7月的时间
select sysdate,sysdate - interval '7' month from dual;
当前时间减去7年的时间
select sysdate,sysdate - interval '7' year from dual;
时间间隔乘以一个数字
select sysdate,sysdate - 8*interval '7' hour from dual;
oracle select 应该是
select * from 表名称 where date字段 = sysdate - interval '1' hour
没有的。
MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的。
Oracle 语法
SELECT column_name(s)
FROM table_name
WHERE ROWNUM = number
例子
SELECT *
FROM Persons
WHERE ROWNUM = 5
扩展资料
SELECT TOP 子句用于规定要返回的记录的数目。SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的。
注释:并非所有的数据库系统都支持 SELECT TOP 子句。
select top与limit的区别:
这是来源于不同数据库里面的使用方式:
1、在access/mssqlserver里面支持的sql用法selecttop;
2、2,在mysql/oracle里面支持的sql用法为select...limit;
就使用而言两者没有什么区别,只是应用平台不一样而已。
update 表A set a字段=(select b字段 from B表 where (表A和表B的关系) ) ;
select * from 表
where to_char(TempDate,'hh24:mi') between '00:00' and '11:00'
我在PLSQL里面必须这样写,只写小时会仅限制到最后那天的11点。
1、创建测试表,
create table test_max(id number, value number);
2、插入测试数据
insert into test_max values(1,12);
insert into test_max values(2,100);
insert into test_max values(3,55);
insert into test_max values(4,100);
insert into test_max values(5,50);
commit;
3、查询表中全量数据,select t.*, rowid from test_max t;
4、编写sql,使用rank分析函数,取value值为最大的记录; select t.* from (select t.*, rank() over(order by value desc) rk from test_max t) t where rk = 1;
写存储过程太麻烦,直接select a.*,b.* from tab_a a,tab_b b;如果两张表有相同的字段,也可以用左外和右外连接,select *from table1 left join table2 on table1.id=table2.id.