1,比較當(dāng)前時間與指定時間相差分鐘數(shù):
蕭縣網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,蕭縣網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為蕭縣千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的蕭縣做網(wǎng)站的公司定做!
select sysdate,
sysdate - to_date('2007-04-03 13:45:39','yyyy-mm-dd hh24:mi:ss')
from dual
輸出結(jié)果: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;
輸出結(jié)果:2009-2-20 17:36:14 2009-2-20 17:45:39 -9
2,同理,可比較相差天數(shù)、小時數(shù)、秒數(shù)等,只需根據(jù)需要替換下面的參數(shù):
兩個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秒
當(dāng)前時間減去7分鐘的時間
select sysdate,sysdate - interval '7' MINUTE from dual;
當(dāng)前時間減去7小時的時間
select sysdate - interval '7' hour from dual;
當(dāng)前時間減去7天的時間
select sysdate - interval '7' day from dual;
當(dāng)前時間減去7月的時間
select sysdate,sysdate - interval '7' month from dual;
當(dāng)前時間減去7年的時間
select sysdate,sysdate - interval '7' year from dual;
時間間隔乘以一個數(shù)字
select sysdate,sysdate - 8*interval '7' hour from dual;
oracle select 應(yīng)該是
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
擴(kuò)展資料
SELECT TOP 子句用于規(guī)定要返回的記錄的數(shù)目。SELECT TOP 子句對于擁有數(shù)千條記錄的大型表來說,是非常有用的。
注釋:并非所有的數(shù)據(jù)庫系統(tǒng)都支持 SELECT TOP 子句。
select top與limit的區(qū)別:
這是來源于不同數(shù)據(jù)庫里面的使用方式:
1、在access/mssqlserver里面支持的sql用法selecttop;
2、2,在mysql/oracle里面支持的sql用法為select...limit;
就使用而言兩者沒有什么區(qū)別,只是應(yīng)用平臺不一樣而已。
update 表A set a字段=(select b字段 from B表 where (表A和表B的關(guān)系) ) ;
select * from 表
where to_char(TempDate,'hh24:mi') between '00:00' and '11:00'
我在PLSQL里面必須這樣寫,只寫小時會僅限制到最后那天的11點。
1、創(chuàng)建測試表,
create table test_max(id number, value number);
2、插入測試數(shù)據(jù)
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、查詢表中全量數(shù)據(jù),select t.*, rowid from test_max t;
4、編寫sql,使用rank分析函數(shù),取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.