Oracle中日期處理

2021-08-24 19:43:30 字數 1197 閱讀 5316

獲取oracle詳細建表語句:

select dbms_metadata.get_ddl('table','t_test_ddl') from dual;
查詢資料儲存結構,字元長度:

select dump('漢字'),lengthb('漢字') from dual;
trunc把乙個日期擷取,只取到年。資料庫只是把最後5個位元組置上1。占用很少的資源,非常快。

我們對乙個date欄位進行操作,需要擷取到年份進行比較時,使用to_char所有的cpu時間與trunc相差乙個數量級,差不多10倍。因為to_char必須把日期轉換成乙個串,並利用當前系統所採 用的nls來完成,然後執行乙個串與串的比較。而trunc只需要把後5個位元組設定為1,然後將兩個7位的位元組的二進行數進行比較就搞定了。所要擷取乙個 date列,應該避免使用to_char. 另外,要完全避免對date列應用函式。

查詢指定日期建立的資料:

**一

select createdate from t_testdate

where createdate like to_date('2009-09-09','yyyy-mm-dd')

**二

select createdate from t_testdate

where trunc(enactment_date,'d') = to_date('2009-09-09','yyyy-mm-dd')

要比使用to_char直接=查詢快一些.當然對單一日期還可利用between and進行優化..

select createdate from t_testdate

where to_char(createdate,'yyyy-mm-dd') ='2009-07-12'

向date型別增加或減時間 :

a.向date增加乙個number值。以天為單位。1秒就是 1/24/60/60。

b.使用interval。

c.使用內建函式add_months增加月。

timestamp是支援小數秒和時區的日期/時間型別。對秒的精確度更高。

timestamp(n)

n的取值為0~9.表示指定timestamp中秒的小數字數。n為可選。如果n為0,timestamp與date等價。

Mysql中日期處理

相信大家在專案中或多或少都會使用到日期比較這個功能,下面這些mysql函式可以滿足你的需求了 比較大小 比較兩個日期相隔的天數 將前面的日期減去後面的日期,忽略時分秒 結果是 6 select datediff 2017 7 8 15 24 08 2017 07 02 篩選出日期大於 2017 7 ...

oracle中日期轉換

oracle中,日期轉換函式有很多,常用命令如下 select to char sysdate,yyyy mm dd hh24 mi ss from dual 語法 to char x format 說明 將x按format格式轉換成字串。x可以是日期或者數字或時間戳,format是乙個規定了x採用...

abap 中日期的處理

日期 加減 call function rp calc date in interval exporting date in date days 5 months 0 signum years 0 importing calc date out date 也可以 通過 日期 數字 的語句進行日期的加...