1、創(chuàng)建測試表,create table test_date(v_date date);
創(chuàng)新互聯(lián)總部坐落于成都市區(qū),致力網(wǎng)站建設服務有成都網(wǎng)站制作、網(wǎng)站設計、外貿(mào)網(wǎng)站建設、網(wǎng)絡營銷策劃、網(wǎng)頁設計、網(wǎng)站維護、公眾號搭建、成都小程序開發(fā)、軟件開發(fā)等為企業(yè)提供一整套的信息化建設解決方案。創(chuàng)造真正意義上的網(wǎng)站建設,為互聯(lián)網(wǎng)品牌在互動行銷領域創(chuàng)造價值而不懈努力!
2、插入測試數(shù)據(jù),
insert into test_date
select sysdate - level * 10 from dual connect by level 100
3、查詢表中所有記錄,select * from test_date,可以看到時間格式為年月日時分秒,
4、編寫sql,將時間截取到年月,
select t.*,
?to_char(v_date, 'yyyymm') v_date_mon1,
?trunc(v_date, 'mm') v_date_mon2
from TEST_DATE t
oracle獲得上個月的月份:
select
to_char(add_months(trunc(sysdate),-1),'yyyymm')
from
dual;
oracle獲得下個月的月份:
select
to_char(add_months(trunc(sysdate),1),'yyyymm')
from
dual;
oracle獲得上個月的第一天日期:
select
data_dt
,ADD_MONTHS(TRUNC(
to_date(data_dt,
'YYYY-MM-DD'),'MM'
),-1)
from
a_web_visit_origin;
oracle獲得上個月的第一天日期(符合當?shù)氐娜掌诟袷剑?/p>
select
data_dt
,TO_CHAR
(ADD_MONTHS(TRUNC(
to_date(data_dt,
'YYYY-MM-DD'),'MM'
),-1),'YYYY-MM-DD')
from
a_web_visit_origin;
oracle獲得上個月當天日期:
select
data_dt
,TO_CHAR
(ADD_MONTHS(TRUNC(
to_date(data_dt,
'YYYY-MM-DD')
),-1),'YYYY-MM-DD')
from
a_web_visit_origin;
select
data_dt
,ADD_MONTHS(TRUNC(
to_date(data_dt,
'YYYY-MM-DD'),'MM'
),-1)
from
a_web_visit_origin;
oracle獲得上個月的第一天日期(符合當?shù)氐娜掌诟袷剑?/p>
select
data_dt
,TO_CHAR
(ADD_MONTHS(TRUNC(
to_date(data_dt,
'YYYY-MM-DD'),'MM'
),-1),'YYYY-MM-DD')
from
a_web_visit_origin;
oracle獲得上個月當天日期:
select
data_dt
,TO_CHAR
(ADD_MONTHS(TRUNC(
to_date(data_dt,
'YYYY-MM-DD')
),-1),'YYYY-MM-DD')
from
a_web_visit_origin;
擴展資料:
日期和字符轉(zhuǎn)換函數(shù)用法(to_date,to_char):
日期轉(zhuǎn)化為字符串:select
to_char(sysdate,'yyyy-mm-dd
hh24:mi:ss')
as
nowTime
from
dual;
獲取時間的年:
select
to_char(sysdate,'yyyy')
as
nowYear
from
dual;
獲取時間的月: select
to_char(sysdate,'mm')
as
nowMonth
from
dual;
獲取時間的日:select
to_char(sysdate,'dd')
as
nowDay
from
dual;
獲取時間的時:select
to_char(sysdate,'hh24')
as
nowHour
from
dual;
獲取時間的分:select
to_char(sysdate,'mi')
as
nowMinute
from
dual;
獲取時間的秒:select
to_char(sysdate,'ss')
as
nowSecond
from
dual;
1、查詢確定年月的數(shù)據(jù),使用to_date或to_char都可以實現(xiàn)
SELECT?*?FROM?表名
WHERE?TO_CHAR(日期列,'YYYY-MM')?=?TO_CHAR('2013-06','YYYY-MM')???或者
SELECT?*?FROM?表名
WHERE?日期列?=?TO_Date('2013-06','YYYY-MM')
2、查詢前一個月
select?concat(to_char(sysdate,'yyyy')||to_char(add_months(sysdate,-1),?'-MM-'),'01?00:00:00')start_time,???
concat(to_char(sysdate,'yyyy')||to_char(add_months(sysdate,-1),?'-MM-')||to_char(LAST_DAY(sysdate),'dd?'),'23:59:59')?end_time?????from?dual
3、查詢前一天
select?to_char(sysdate-1,'yyyy-mm-dd?')||'00:00:00'?start_time,to_char(sysdate-1,'yyyy-mm-dd?')||'23:59:59'?end_time??from?dual
SELECT?TO_CHAR(ADD_MONTHS(SYSDATE,?-1),?'MM')?AS?上月,
TO_CHAR(SYSDATE,?'MM')?AS?本月,
TO_CHAR(ADD_MONTHS(SYSDATE,?1),?'MM')?AS?下月
FROM?DUAL
獲取月(兩位):select to_char(sysdate,'mm') from dual
那你就把指定的日期to_date()成date,如下:
select to_char(to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss'),'mm') from dual
1、因為oracle運行在Linux系統(tǒng)下,首先,要連接Linux系統(tǒng)。
2、切換到oracle安裝用戶下。 我的是 oracle。
3、運行oracle的環(huán)境變量, 以便輸入相關(guān)命令。
4、進入oracle控制臺。輸入命令: sqlplus ?/ as sysdba。
5、關(guān)閉數(shù)據(jù)庫, 輸入命令: shutdown immediate。