資料庫 ORACLE時間欄位取年 月 日 季度

2022-02-26 18:58:32 字數 1496 閱讀 5441

--得到年月,日,季度  

select  

to_char(日期,'yyyymmdd')   date_id,to_char(日期,'yyyy')||'年'||to_char(日期,'mm')||'月'||to_char(日期,'dd')||'日'   date_name,  

to_char(日期,'yyyymm')   month_id,to_char(日期,'yyyy')||'年'||to_char(日期,'mm')||'月'   month_name,  

'q'||to_char(日期,'q.yyyy')   quarterid,to_char(日期,'yyyy')||'年第'||to_char(日期,'q')||'季度'   quarterid_name,  

to_char(日期,'yyyy')   year_id,to_char(日期,'yyyy')||'年'   year_name  

from(  

select   to_date('2000-01-01','yyyy-mm-dd')+(rownum-1)   日期   from   user_objects   where   rownum<367   and   to_date('2000-01-01','yyyy-mm-dd')+(rownum-1)

--得到季度和月份對應關係  

select   distinct   to_char(日期,'q')   季度,to_char(to_date('2001-01-01','yyyy-mm-dd')+(rownum-1),'yyyymm')   日期     from(   select   to_date('2001-01','yyyy-mm')+(rownum-1)   日期   from   user_objects   where   rownum<367   and   to_date('2001-01-01','yyyy-mm-dd')+(rownum-1)總結:

to_char(sysdate,'q')   季  

to_char(sysdate,'yyyy')年  

to_char(sysdate,'mm')月  

to_char(sysdate,'dd')日  

to_char(sysdate,'d')星期中的第幾天

to_char(sysdate,'day')星期幾

to_char(sysdate,'ddd')一年中的第幾天

其它方法:

extract(year from query_cxrq)年度

extract(month from query_cxrq)月份

extract(day from query_cxrq)日

--轉換帶時間的日期格式變數為shortdate格式時間字串方法:

1、datetime.tostring("yyyy.mm.dd")

2、formatdatetime(datetime,"yyyy.mm.dd")

3、convert.todatetime(str).toshortdatestring()

資料庫設計的時間字段

在家自己做專案,研究了一下資料庫設計,記下學習成果。資料庫欄位的時間設計很多公司都會選擇字串型別,這個是有爭議的。其實這個時間型別的選擇,主要看需求,varchar型別也是可以用的,資料庫中的時間僅僅是用來顯示 查詢的,那麼影響還不算大,但如果對時間字段進行一些演算法如計算星期幾,或者格式化型別不同...

Oracle資料庫中關於日期和時間字段型別

oracle資料庫 與日期有關的有三種型別 date,timestamp與interval。date和timestamp型別儲存精度可變的固定日期 時間,二者區別是,後者秒可以精確到小數,另外還可以有時區之分。interval型別可以很容易地儲存乙個時間量,如 8個小時 或 30天 將兩個日期相減,...

資料庫 Oracle欄位橫置

補充背景需要 最近好久沒有寫文章了,主要原因因為專案試執行了,自己每天都要關注專案運 況,在穩定的時候去開發新的功能,但是在開發的時候,遇到乙個問題難倒我了。具體的原因是,有時候客戶想要的資料是一條記錄展示完,但是我們在資料庫存的時候,通常都是乙個存一條記錄。這就會有乙個問題,什麼問題呢,比方說,客...