成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

oracle周二怎么取,oracle取當(dāng)前時間的周一

oracle取得周數(shù)什么時候是oracle標(biāo)準(zhǔn)

[Oracle] 日期處理

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、九龍坡網(wǎng)站維護(hù)、網(wǎng)站推廣。

本篇是針對以上一篇中 “獲取日期的星期” 部分的展開。

計算標(biāo)準(zhǔn)

Oracle 里支持兩種標(biāo)準(zhǔn)的時間, 一種是oracle 自身的標(biāo)準(zhǔn), 另一種是ISO 的標(biāo)準(zhǔn)1. oralce 標(biāo)準(zhǔn)

1) 每年的 1 月1號作為這一年的第一天。(不管這一天是星期幾)比如: 2013/01/01 是星期二, 這一天作為2013年的第一天。

2) 周數(shù)計算公式 week = int(dayOfYear+6)/7 ; dayOfYear 是這一天是這一年的第幾天3) 周數(shù)區(qū)間: 1-53

2. ISO標(biāo)準(zhǔn)

1)每個星期總是從周一開始,周日結(jié)束

2)如果1月1日是周五、周六或周日,則這一周算為上一年的最后一周,因為這周的大部分時間屬于上一年3)如果1月1日是周一、周二、周三或周四,則這一周算為新年的第一周,因為這周的大部分時間屬于新的一年4)時間區(qū)間: 1-52 or 1-53

舉例來說: 對于1998和1999年的1月1日,1998年是算第一周,而1999年的1月1日卻算為上一年的最后一周。

Table 3-7 First ISO Week of the Year: Example 1, January 1998MoTuWeThFrSaSuISO Week

---12341 ISO week of 1998

5678910112 ISO week of 1998

121314151617183 ISO week of 1998

192021222324254 ISO week of 1998

262728293031-5 ISO week of 1998

Table 3-8 First ISO Week of the Year: Example 2, January 1999MoTuWeThFrSaSuISO Week

----12353 ISO week of 1998

456789101 ISO week of 1999

111213141516172 ISO week of 1999

181920212223243 ISO week of 1999

252627282930314 ISO week of 1999

Oracle中獲取年份

1. oralce 標(biāo)準(zhǔn) - YYYY

oralce 標(biāo)準(zhǔn)獲取年份的方式很簡單:

[sql] view plain copy 在CODE上查看代碼片派生到我的代碼片select TO_CHAR(TO_DATE('1997/01/01','YYYY/MM/DD'), 'YYYY') from dual;select TO_CHAR(TO_DATE('1997/12/31','YYYY/MM/DD'), 'YYYY') from dual;都是返回 1997

2. iso 標(biāo)準(zhǔn) - IYYY

[sql] view plain copy 在CODE上查看代碼片派生到我的代碼片select TO_CHAR(TO_DATE('1997/01/01','YYYY/MM/DD'), 'IYYY') from dual;select TO_CHAR(TO_DATE('1997/12/31','YYYY/MM/DD'), 'IYYY') from dual;返回: 1997, 1998

是不是很奇怪, 1997/12/31 號的年份是 1998 .

其實原因很簡單, 根據(jù)上面的標(biāo)準(zhǔn), 1998年1月1日是周四,則這一周算為新年的第一周,因為這周的大部分時間屬于1998. 所以1997/12/31 也屬于1998 年的第一周, 所以得到的是 1998.

你可能會想:

這是否因因為上面把字串轉(zhuǎn)為日期的時候使用了YYYY這種格-- TO_DATE('1997/12/31','YYYY/MM/DD'), 如果使用TO_DATE('1997/12/31','IYYY/MM/DD'), 'IYYY') 是否可以? 不幸的是, oracle 不支持這種用法。

假設(shè)當(dāng)天是 1997/12/31 , 使用 TO_CHAR(sysdate,'IYYY') , 發(fā)現(xiàn)同樣獲得的是 1998.

總結(jié)一下: 如果從string 轉(zhuǎn)換為日期, 如果只取這個日期的年份的話, 最好使用 YYYY。

Oracle 獲取周數(shù)

要獲取某一天是這一年的第幾周, 同樣有兩種標(biāo)準(zhǔn)的區(qū)別:

1. oracle 標(biāo)準(zhǔn) - WW

這種標(biāo)準(zhǔn)和算法看起來很傻瓜。 int(dayOfYear+6)/7[sql] view plain copy 在CODE上查看代碼片派生到我的代碼片select TO_CHAR(TO_DATE('1997/01/01','YYYY/MM/DD'), 'YYWW') from dual;select TO_CHAR(TO_DATE('1997/01/08','YYYY/MM/DD'), 'YYWW') from dual;select TO_CHAR(TO_DATE('1997/12/31','YYYY/MM/DD'), 'YYWW') from dual;很簡單; 返回 9701 ,9702,9753

不過這種標(biāo)準(zhǔn)在一般的公司使用的應(yīng)該會比較少。

2. iso 標(biāo)準(zhǔn) - IW

[sql] view plain copy 在CODE上查看代碼片派生到我的代碼片select TO_CHAR(TO_DATE('1997/01/01','YYYY/MM/DD'), 'IYIW') from dual;select TO_CHAR(TO_DATE('1997/12/31','YYYY/MM/DD'), 'IYIW') from dual;返回: 9701,9801

如上所述, 1997/12/31 歸到 1998 年的第一周。

需要特別提醒的是:(本篇的精華)

年份 和 周數(shù)要使用同樣的標(biāo)準(zhǔn), 不要混著使用,比如 : YYIW -- oracle 的年份, ISO的周數(shù)IYWW

否則的話, 會得到一些錯誤的結(jié)果。

[sql] view plain copy 在CODE上查看代碼片派生到我的代碼片select TO_CHAR(TO_DATE('1997/12/31','YYYY/MM/DD'), 'YYIW') from dual;返回:9701

整整少了一年。

而且這種錯誤在不跨年的狀況上你可能還不會發(fā)現(xiàn), 一跨年, 發(fā)現(xiàn)又回到了一年前 ^^

oracle問題,請教大家,我想要取一個日期區(qū)間內(nèi)的所有周一,二。。。周日,sql怎么下

select b.day,b.dd,sum(b.flag) over(partition by b.dd) as dd_sum

from

(select a.day,to_char(a.day,'day') as dd, 1 as flag

from

(SELECT TO_DATE('20130118', 'YYYY-MM-DD') + LEVEL - 1 DAY

FROM DUAL

CONNECT BY TO_DATE('20130118', 'YYYY-MM-DD') + LEVEL - 1 =

TO_DATE('20130209', 'YYYY-MM-DD')

) a

) b

group by b.day

oracle 獲取日期

oracle中最簡單獲取日期的方式是通過查詢sysdate來獲取。

語句如下:

select?sysdate?from?dual;

結(jié)果:

如果只獲取日期部分:

select?to_char(sysdate,'yyyy-mm-dd')?from?dual;

結(jié)果:

oracle 獲取指定周的星期一到星期五日期

select *

from (select to_date('2013-01-01', 'yyyy-mm-dd') + rownum - 1 days

from dba_objects) a

where extract(year from days) = 2013

and to_char(days, 'WW') = 22

and to_char(days, 'day') in ('星期一', '星期二', '星期三', '星期四', '星期五')

年份:2013,第幾周:22

oracle如何得到一個日期是星期幾?

1、首先可以直接用datepart函數(shù),第一個參數(shù)設(shè)置成weekday就可以了。

2、得到的結(jié)果是這一天是這周的第幾天,注意星期日是第一天。

3、可以看到去掉星期日就是日期的星期幾了。

4、然后在實際使用的時候就可以直接減去1就可以了。

5、另外datepart第二個參數(shù)也可以直接放getdate。

6、最后得到的結(jié)果也是需要的日期。

oracle怎么根據(jù)時間求星期幾?

select decode(to_char(sysdate,'d'),'1','周日','2','周一','3','周二','4','周三','5','周四','6','周五','周六') from dual;

-- sysdate 系統(tǒng)默認(rèn)時間

分享名稱:oracle周二怎么取,oracle取當(dāng)前時間的周一
文章路徑:http://jinyejixie.com/article10/dsedhgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈小程序開發(fā)、微信小程序、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
金湖县| 额尔古纳市| 桑植县| 阿巴嘎旗| 赤城县| 新干县| 临海市| 新宁县| 垦利县| 漳浦县| 临朐县| 海兴县| 丰顺县| 禄劝| 沾益县| 砀山县| 囊谦县| 金乡县| 女性| 大悟县| 读书| 遂宁市| 克什克腾旗| 兴文县| 尉犁县| 东港市| 高安市| 大邑县| 九龙坡区| 永康市| 宣城市| 宜章县| 东至县| 安泽县| 朝阳区| 蒙山县| 潜江市| 长岭县| 芷江| 凯里市| 嵊州市|