獲取前n條資料:在oracle當中是通過rownum來進行獲取前n條資料的
select * from student where rownum < n+1;
to_cahr() 的用法示例:
執行:to_char(789.123,'9999.99') 返回的是:789.12
執行:to_char(789.123,'9999.9') 返回的是:789.1
執行:tochar(21,'000099') 返回的是:000021
tochar()轉換日期示例:
執行:tochar(sysdate,'yyyy/mm/dd') 返回的是 2018/01/01
執行:tochar(sysdate,'month dd,yyyy') 返回的是:july 09,2018
執行:tochar(sysdate,'mon ddth,yyyy') 返回的是:jul 09th,2018
執行:tochar(sysdate,'fmmonth dd,yyyy') 返回的是:july 9,2018
執行:tochar(sysdate,'fmmon ddth,yyyy') 返回的是:jul 9th,2018
上面的fm的意思是去除0和空格
參考自:/*
fm :除空格
999999.0099:小數點左邊最大正數為6位,小數點右邊最少2位,最多4位,且在第5位進行四捨五入
*/select to_char(789.1233,'fm99999.0099') from dual
select * from dual
;
--加法
select sysdate,add_months(sysdate,12)
from dual;
--加1年
select sysdate,add_months(sysdate,1)
from dual;
--加1月
select sysdate,to_char(sysdate+7,
'yyyy-mm-dd hh24:mi:ss'
)from dual;
--加1星期
select sysdate,to_char(sysdate+1,
'yyyy-mm-dd hh24:mi:ss'
)from dual;
--加1天
select sysdate,to_char(sysdate+1/
24,'yyyy-mm-dd hh24:mi:ss'
)from dual;
--加1小時
select sysdate,to_char(sysdate+1/
24/60,
'yyyy-mm-dd hh24:mi:ss'
)from dual;
--加1分鐘
select sysdate,to_char(sysdate+1/
24/60/
60,'yyyy-mm-dd hh24:mi:ss'
)from dual;
--加1秒
--減法 只需將上面的加號換成減號即可
--舉例:
完整的格式:select to_char(sysdate,
'yyyymmdd w hh24:mi:ss'
)from dual;
--1、取得當前日期是本月的第幾周
select to_char(sysdate,
'w')
from dual;
--2、取得當前日期是乙個星期中的第幾天,星期日為第一天
select sysdate,to_char(sysdate,
'd')
from dual;
--類似:
select to_char(sysdate,
'yyyy'
)from dual;
--年
select to_char(sysdate,
'q'from dual;
--季
select to_char(sysdate,
'mm'
)from dual;
--月
select to_char(sysdate,
'dd'
)from dual;
--日
--ddd 年中的第幾天
--ww 年中的第幾個星期
--w 該月中第幾個星期
--d 週中的星期幾
--hh 小時(12)
--hh24 小時(24)
--mi 分
--ss 秒
--3、取當前日期是星期幾,中文顯示
select to_char(sysdate,
'day'
)from dual;
--4、如果乙個表在乙個date型別的字段上面建立了索引,如何使用
alter
session
set nls_date_format=
'yyyy-mm-dd hh24:mi:ss'
--5、得到當前的日期
select sysdate from dual;
--6、得到當天凌晨0點0分0秒的日期
select trunc(sysdate)
from dual;
-- 得到這天的最後一秒
select trunc(sysdate)
+0.99999
from dual;
-- 得到小時的具體數值
select trunc(sysdate)+1
/24from dual;
select trunc(sysdate)+7
/24from dual;
--7、得到明天凌晨0點0分0秒的日期
select trunc(sysdate+1)
from dual;
select trunc(sysdate)+1
from dual;
--8、本月一日的日期
select trunc(sysdate,
'mm'
)from dual;
--9、得到下月一日的日期
select trunc(add_months(sysdate,1)
,'mm'
)from dual;
--10、返回當前月的最後一天
select last_day(sysdate)
from dual;
select last_day(trunc(sysdate)
)from dual;
select trunc(last_day(sysdate)
)from dual;
select trunc(add_months(sysdate,1)
,'mm')-
1from dual;
--11、得到一年的每一天
select trunc(sysdate,
'yyyy'
)+ rn -
1 date0
from
(select rownum rn from all_objects
where rownum<
366)
;--12、今天是今年的第n天
select to_char(sysdate,
'ddd'
)from dual;
--13、如何在給現有的日期加上2年
select add_months(sysdate,24)
from dual;
--14、判斷某一日子所在年分是否為潤年
select decode(to_char(last_day(trunc(sysdate,
'y')+31
),'dd'),
'29'
,'閏年'
,'平年'
)from dual;
--15、判斷兩年後是否為潤年
select decode(to_char(last_day(trunc(add_months(sysdate,24)
,'y')+
31),'dd'),
'29'
,'閏年'
,'平年'
)from dual;
--16、得到日期的季度
select ceil(to_number(to_char(sysdate,
'mm'))
/3)from dual;
select to_char(sysdate,
'q')
from dual;
oracle中常用函式大全
1 數值型常用函式 函式 返回值 樣例 顯示 ceil n 大於或等於數值n的最小整數 select ceil 10.6 from dual 11 floor n 小於等於數值n的最大整數 select ceil 10.6 from dual 10 mod m,n m除以n的餘數,若n 0,則返回m...
Oracle中常用的函式
解釋 如果引數一expr1為空 包括null和 則結果為expr2的值,如果expr1不為空,則結果為expr1的值。sql select nvl null,1 from dual nvl null,1 1sql select nvl 1 from dual nvl 1 1sql select nv...
Oracle中常見的操作
1.建立oracle表空間 2.刪除oracle表空間 示例 drop tablespace my space including contents and datafiles 3.檢視當前所有的表空間和表空間對應的資料檔案的位置 select from dba tablespaces 檢視當前所有...