python获取季度函数_ORACLE时间常用函数(字段取年、月、日、季度)
現(xiàn)在給出一些實(shí)踐后的用法:
1。上月末天: SQL> select to_char(add_months(last_day(sysdate),-1),'yyyy-MM-dd') LastDay from dual;
LASTDAY ---------- 2005-05-31
2。上月今天 SQL> select to_char(add_months(sysdate,-1),'yyyy-MM-dd') PreToday from dual;
PRETODAY ---------- 2005-05-21
3.上月首天 SQL> select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-MM-dd') firstDay from dual;
FIRSTDAY ---------- 2005-05-01
4.按照每周進(jìn)行統(tǒng)計 SQL> select to_char(sysdate,'ww') from dual group by to_char(sysdate,'ww');
TO -- 25
5。按照每月進(jìn)行統(tǒng)計 SQL> select to_char(sysdate,'mm') from dual group by to_char(sysdate,'mm');
TO -- 06
6。按照每季度進(jìn)行統(tǒng)計 SQL> select to_char(sysdate,'q') from dual group by to_char(sysdate,'q');
T - 2
7。按照每年進(jìn)行統(tǒng)計 SQL> select to_char(sysdate,'yyyy') from dual group by to_char(sysdate,'yyyy');
TO_C ---- 2005
8.要找到某月中所有周五的具體日期 select to_char(t.d,'YY-MM-DD') from ( select trunc(sysdate, 'MM')+rownum-1 as d from dba_objects where rownum < 32) t where to_char(t.d, 'MM') = to_char(sysdate, 'MM') --找出當(dāng)前月份的周五的日期
and trim(to_char(t.d, 'Day')) = '星期五' -------- 03-05-02 03-05-09 03-05-16 03-05-23 03-05-30
如果把where to_char(t.d, 'MM') = to_char(sysdate, 'MM')改成sysdate-90,即為查找當(dāng)前月份的前三個月中的每周五的日期。
9.oracle中時間運(yùn)算
內(nèi)容如下: 1、oracle支持對日期進(jìn)行運(yùn)算 2、日期運(yùn)算時是以天為單位進(jìn)行的 3、當(dāng)需要以分秒等更小的單位算值時,按時間進(jìn)制進(jìn)行轉(zhuǎn)換即可 4、進(jìn)行時間進(jìn)制轉(zhuǎn)換時注意加括號,否則會出問題
SQL> alter session set nls_date_format='yyyy-mm-dd hh:mi:ss';
會話已更改。
SQL> set serverout on SQL>
declare
DateValue date;
begin
select sysdate into DateValue from dual;
dbms_output.put_line('源時間:'||to_char(DateValue));
dbms_output.put_line('源時間減1天:'||to_char(DateValue-1));
dbms_output.put_line('源時間減1天1小時:'||to_char(DateValue-1-1/24));
dbms_output.put_line('源時間減1天1小時1分:'||to_char(DateValue-1-1/24-1 /(24*60)));
dbms_output.put_line('源時間減1天1小時1分1秒:'||to_char(DateValue-1-1/24-1 /(24*60)-1/(24*60*60)));
end;
/ 源時間:2003-12-29 11:53:41 源時間減1天:2003-12-28 11:53:41 源時間減1天1小時:2003-12-28 10:53:41 源時間減1天1小時1分:2003-12-28 10:52:41 源時間減1天1小時1分1秒:2003-12-28 10:52:40
PL/SQL 過程已成功完成。
在Oracle中實(shí)現(xiàn)時間相加處理 -- 名稱:Add_Times -- 功能:返回d1與NewTime相加以后的結(jié)果,實(shí)現(xiàn)時間的相加 -- 說明:對于NewTime中的日期不予考慮
create or replace function Add_Times(d1 in date,NewTime in date)
return date is hh?? number;
mm?? number; ss?? number;
hours number; dResult date;
begin -- 下面依次取出時、分、秒
select to_number(to_char(NewTime,'HH24')) into hh from dual;
select to_number(to_char(NewTime,'MI')) into mm from dual;
select to_number(to_char(NewTime,'SS')) into ss from dual; -- 換算出NewTime中小時總和,在一天的百分幾
hours := (hh + (mm / 60) + (ss / 3600))/ 24; -- 得出時間相加后的結(jié)果
select d1 + hours into dResult from dual; return(dResult);
end Add_Times;
-- 測試用例 -- select Add_Times(sysdate,to_date('2004-12-06 03:23:00','YYYY-MM-DD HH24:MI:SS')) from dual
總結(jié)
以上是生活随笔為你收集整理的python获取季度函数_ORACLE时间常用函数(字段取年、月、日、季度)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑技术吧_干货!12年技术员从零开始讲
- 下一篇: python自定义类的属性_我可以将自定