oracel 中關於時間日期的取值和轉化

2021-08-03 22:39:36 字數 1271 閱讀 6140

1.首先是日期轉化的兩種格式,一般用第二種多吧。

to_date("要轉換的字串","轉換的格式")   兩個引數的格式必須匹配,否則會報錯。即按照第二個引數的格式解釋第乙個引數。

to_char(日期,"轉換格式" ) 即把給定的日期按照「轉換格式」轉換。

取系統當前時間 並轉化成 yyyy-mm-dd(年月日格式)

to_char(sysdate,'yyyy-mm-dd')

2.下面要用到add_months()函式  負數:代表往前  正數:代表往後。

根據系統當前時間,取到上個月月底(上個月最後一天)並轉化

to_char(last_day(add_months(sysdate,-1)),'yyyy-mm-dd')

根據系統當前時間,取到上個月月初(上個月第一天) 並轉化

to_char((last_day(add_months(sysdate, -2)) + 1,'yyyy-mm-dd')

3.dual是oracle中的偽表。

具體含義:dual 是 oracle中的乙個實際存在的表,任何使用者均可讀取,常用在沒有目標表的select語句塊中

根據系統當前時間 取上乙個月 並轉化

select to_char(add_months(trunc(sysdate),-1),'yyyymm') from dual;

根據系統當前時間 取下乙個月 並轉化

select to_char(add_months(trunc(sysdate),1),'yyyymm') from dual;

4.trunc函式為指定元素而截去的日期值。

函式方法:trunc(date,[fmt])

date:代表日期,  fmt:代表日期格式

trunc(sysdate,'yyyy') --返回當年第一天。  2017-01-01

trunc(sysdate,'mm') --返回當月第一天。   2017-07-01

trunc(sysdate,'d') --返回當前星期的第一天。2017-07-17 

trunc(sysdate,'dd')--返回當前年月日      2017-07-19

trunc (sysdate, 'hh') -- 返回當前時間  小時    2017-07-19 10:00:00 當前時間為 10點11分  

trunc (sysdate, 'mi') -- 返回當前時間  分鐘   2017-07-19 10:11:00  trunc函式不精確到秒

關於VC時間 日期函式

mfc提供了兩個日期和時間類ctime和ctimespan,分別代表相對時間和絕對時間。ctime是基於格林威治平均時間 gmt 的,本地的時間由環境變數tz決定。ctimespan代表了時間間隔。ctime類由下列成員函式 ctime 建立乙個ctime物件。getcurrenttime 由當前時...

oracle之關於時間日期

格式化日期 select sysdate from dual 系統日期 select to char sysdate,yyyy mm dd hh24 mi ss from dual select to date 20140630 18 28 20 yyyy mm dd hh24 mi ss from...

在SQL中關於時間日期的操作

有段時間一直使用sql獲取不同的日期時間,這是那段時間留下的一些零散筆記,在此分享 如果有更全的,希望您能補充,謝謝!獲取當前時間 select getdate 獲取當前年月日 select convert varchar 10 getdate 120 獲取當前年月 select convert v...