ORACLE to char 函式獲取自然週數

2021-05-27 18:33:13 字數 1096 閱讀 3278

最簡單的是使用

/* formatted on 2009/12/02 16:01 (formatter plus v4.8.8) */

select to_char (to_date ('2009-12-02', 'yyyy-mm-dd'), 'ww')

from dual;

不過to_char()函式在計算一年中第幾周是從該年的1月1日開始的。

以下sql 能得到正確的自然週數.

/* formatted on 2009/12/02 15:31 (formatter plus v4.8.8) */

select to_char

(decode

(sign

(  (  to_date ('2009-12-02', 'yyyy-mm-dd')

+ to_number

(decode (to_char (trunc (to_date ('2009-12-02',

'yyyy-mm-dd'

),'yyyy'

),'d'

),'1', '8',

to_char (trunc (to_date ('2009-12-02',

'yyyy-mm-dd'

),'yyyy'

),'d'))

)- 2

)- last_day (to_date ('2009-12-02', 'yyyy-mm-dd'))

),1, last_day (to_date ('2009-12-02', 'yyyy-mm-dd')),

(  to_date ('2009-12-02', 'yyyy-mm-dd')

+ to_number (decode (to_char (trunc (to_date ('2009-12-02',

'yyyy-mm-dd'

),'yyyy'

),'d'

),'1', '8',

to_char (trunc (to_date ('2009-12-02',

'yyyy-mm-dd'

),'yyyy'

),'d'))

)- 2)),

'ww'

)from dual;

ORACLE to char函式詳解

oracle函式to char轉化數字型指定小數點位數的用法 to char,函式功能,就是將數值型或者日期型轉化為字元型。對long型好像會報錯 比如最簡單的應用 1.0123 1.0123 select to char 1.0123 from dual 123 123 select to cha...

oracle to char函式學習

在實際的工作中會經常會用到to char to date 函式來對時間 日期進行處理。1 to char 函式的用法 1.1 將時間日期按照指定的格式輸出,得到的是字串,而非date型別。select sysdate,to char sysdate,yyyy mm dd from dual sele...

Oracle to char格式化函式

postgres 格式化函式提供一套有效的工具用於把各種資料型別 日期 時間,int,float,numeric 轉換成格式化的字串以及反過來從格式化的字串轉換成原始的資料型別。注意 所有格式化函式的第二個引數是用於轉換的模板。表 5 7.格式化函式 函式返回 描述例子 to char timest...