日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)OceanBase教程:OceanBase日期時(shí)間格式化

日期時(shí)間格式化指定了存儲(chǔ)在數(shù)據(jù)庫(kù)中日期時(shí)間數(shù)據(jù)的格式。日期時(shí)間格式化的總長(zhǎng)度不能超過(guò) 22 個(gè)字符。

歷下網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),歷下網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為歷下1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的歷下做網(wǎng)站的公司定做!

函數(shù)中的日期時(shí)間格式化

日期時(shí)間格式化出現(xiàn)在下面的數(shù)據(jù)類型轉(zhuǎn)換中:

  • 將非默認(rèn)格式的字符值轉(zhuǎn)換為日期時(shí)間值時(shí),需要 ?TO_DATE?、?TO_TIMESTAMP? 和 ?TO_TIMESTAMP_TZ? 函數(shù)的參數(shù)指定日期時(shí)間的格式。
  • 將日期時(shí)間值轉(zhuǎn)換為非默認(rèn)格式的字符值時(shí),需要指定 ?TO_CHAR? 函數(shù)的參數(shù)。

您可以通過(guò)以下方式指定日期時(shí)間格式。

  • 通過(guò)會(huì)話參數(shù) ?NLS_DATE_FORMAT?、?NLS_TIMESTAMP_FORMAT? 或 ?NLS_TIMESTAMP_TZ_FORMAT? 顯式指定。
  • 通過(guò)會(huì)話參數(shù) ?NLS_TERRITORY? 隱式指定。
  • ?ALTER SESSION? 語(yǔ)句更改會(huì)話的默認(rèn)日期時(shí)間格式。

日期時(shí)間格式化

日期時(shí)間格式化由一個(gè)或多個(gè)日期時(shí)間格式化元素組成。OceanBase 數(shù)據(jù)庫(kù)支持的格式化元素請(qǐng)查閱 日期時(shí)間格式化元素表

  • 在格式化字符串中,相同的格式化元素不能出現(xiàn)兩次,表示類似信息的格式化元素不能組合。例如,您不能在一個(gè)格式化字符串中同時(shí)使用 ?SYYYY?和 ?BC? 元素。
  • 所有格式化元素都可以在 ?TO_CHAR?、?TO_DATE?、?TO_TIMESTAMP? 和 ?TO_TIMESTAMP_TZ? 函數(shù)中使用。
  • 日期時(shí)間格式化元素 ?FF?、?TZD?、?TZH?、?TZM? 和 ?TZR?可以出現(xiàn)在時(shí)間戳和間隔格式化中,但不能出現(xiàn)在 ?DATE? 格式中。
  • 許多日期時(shí)間格式元素被空白填充或用零填充至指定的長(zhǎng)度。

注意 
建議您使用 4 位數(shù)的年份元素(?
YYYY?),較短的年份元素會(huì)影響查詢優(yōu)化,因?yàn)槟攴葜荒茉谶\(yùn)行時(shí)確定。

日期時(shí)間格式化元素表

元素

日期時(shí)間函數(shù)是否支持?

說(shuō)明

- / , 。 ; : “文字”

標(biāo)點(diǎn)和引用的文本會(huì)在結(jié)果中復(fù)制。

AD A.D.

表示公元紀(jì)年法,帶有或不帶有點(diǎn)號(hào)。

AM A.M.

表示上午,帶有或不帶有點(diǎn)號(hào)。

BC B.C.

表示公元前的年份,帶有或不帶有點(diǎn)號(hào)。

D

星期幾(1-7)。

DAY

一天的名稱。

DD

每月的一天(1-31)。

DDD

一年中的某天(1-366)。

DL

只能打印類似 "Monday, January, 01, 1996" 的固定格式。

DS

只能打印類似 "10-10-1996" 的固定格式。

DY

日期的縮寫(xiě),返回星期值。

FF [1..9]

小數(shù)秒。使用數(shù)字 1~9 來(lái)指定返回值的小數(shù)秒部分的位數(shù)。默認(rèn)為日期時(shí)間數(shù)據(jù)類型指定的精度。在時(shí)間戳和間隔格式中有效,但在 DATE 格式中無(wú)效。

FX

需要字符數(shù)據(jù)和格式模型之間的精確匹配。

HHHH12

小時(shí)(1-12)。12 小時(shí)制

HH24

小時(shí)(0-23)。24 小時(shí)制

YYYY

包含4位數(shù)字的年份。

MI

分鐘(0-59)。

MM

月(01-12;一月份表示為 01 )。

MON

月份的縮寫(xiě)。

MONTH

月份名稱。

PM P.M.

表示下午,帶有或不帶有點(diǎn)號(hào)。

Q

季度(1、2、3、4; 1月-3月是第 1 季度)。

RR

RR 匹配兩位數(shù)的年份。

RRRR

年。接受4位或2位輸入。

SS

秒(0-59)。

SSSSS

午夜后的秒(0-86400)。

TZD

夏令時(shí)信息。TZD 值是帶有夏令時(shí)信息的縮寫(xiě)時(shí)區(qū)字符串。在時(shí)間戳和間隔格式中有效,但在 DATE 格式中無(wú)效。

TZH

時(shí)區(qū)小時(shí)。在時(shí)間戳和間隔格式中有效,但在 DATE 格式中無(wú)效。

TZM

時(shí)區(qū)分鐘。在時(shí)間戳和間隔格式中有效,但在 DATE 格式中無(wú)效。

TZR

時(shí)區(qū)區(qū)域信息。在時(shí)間戳和間隔格式中有效,但在 DATE 格式中無(wú)效。

X

小數(shù)點(diǎn),永遠(yuǎn)是 '.' 。

Y,YYY

帶逗號(hào)的年。

YYYYSYYYY

4位數(shù)字的年份。 S 代表用一個(gè)負(fù)號(hào)表示公元前的日期。

YYYYYY

年份的后 3、2 或 1 位數(shù)字。

說(shuō)明 
日期時(shí)間函數(shù)指的是?
TO_CHAR?、?
TO_DATE?、?
TO_TIMESTAMP? 和 ?
TO_TIMESTAMP_TZ? 。

注意,以上轉(zhuǎn)化要求輸入的字符串日期能夠與格式元素相匹配,否則會(huì)報(bào)錯(cuò),例如:


obclient> SELECT TO_DATE( '31 Aug 2020', 'DD MON YYYY' ) FROM DUAL;
+----------------------------------+
| TO_DATE('31AUG2020','DDMONYYYY') |
+----------------------------------+
| 2020-08-31 00:00:00              |
+----------------------------------+
1 row in set (0.00 sec)

注意 
OceanBase 數(shù)據(jù)庫(kù)中默認(rèn)的日期格式為 DD-MON-RR,如果要顯示為上面的格式,可以通過(guò)執(zhí)行 alter session set NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'; 修改當(dāng)前會(huì)話的日期時(shí)間格式。

當(dāng)您的格式串漏掉了一些元素時(shí),會(huì)得到系統(tǒng)的報(bào)錯(cuò)信息:


obclient> SELECT TO_DATE( '31 Aug 2020', 'DD MON YYY' ) FROM DUAL;
ORA-01830: date format picture ends before converting entire input string

日期格式化元素中的大寫(xiě)字母

拼寫(xiě)出來(lái)的單詞、縮寫(xiě)詞或羅馬數(shù)字中的大寫(xiě)字母在相應(yīng)的格式元素中也跟著大寫(xiě)。例如,日期格式元素 ?DAY? 產(chǎn)生的 ?MONDAY? 也大寫(xiě),?Day? 和 ?Monday? 格式一樣,?day? 和 ?monday? 格式一樣。


obclient> SELECT TO_CHAR(sysdate,'mon')  AS nowMonth FROM DUAL;
+----------+
| NOWMONTH |
+----------+
| mar      |
+----------+
1 row in set (0.00 sec)

obclient> SELECT TO_CHAR(sysdate,'MON')  AS nowMonth FROM DUAL;
+----------+
| NOWMONTH |
+----------+
| MAR      |
+----------+
1 row in set (0.00 sec)
    

日期時(shí)間格式化中的標(biāo)點(diǎn)符號(hào)和字符字面量

以下字符需要日期格式化,這些字符出現(xiàn)在返回值中的位置與格式化中字符的位置相同:

  • 標(biāo)點(diǎn)符號(hào),例如連字符,斜杠,逗號(hào),句號(hào)和冒號(hào)。
  • 字符字面量,用雙引號(hào)引起來(lái)。

OceanBase 數(shù)據(jù)庫(kù)可以靈活的將字符串轉(zhuǎn)換為日期。當(dāng)您使用 ?TO_DATE? 函數(shù)時(shí),若輸入字符串中的每個(gè)數(shù)字元素都包含格式化允許的最大位數(shù),則格式字符串將與輸入的字符串匹配。

  • 示例 1:格式元素 MM/YY,其中 02 對(duì)應(yīng) MM07 對(duì)應(yīng) YY。

執(zhí)行以下語(yǔ)句:


SELECT TO_CHAR(TO_DATE('0207','MM/YY'),'MM/YY') FROM DUAL;

查詢結(jié)果如下:


+------------------------------------------+
| TO_CHAR(TO_DATE('0207','MM/YY'),'MM/YY') |
+------------------------------------------+
| 02/07                                    |
+------------------------------------------+
  • 示例 2:OceanBase 數(shù)據(jù)庫(kù)允許非字母數(shù)字字符與格式化中的標(biāo)點(diǎn)字符匹配,# 對(duì)應(yīng) /。

執(zhí)行以下語(yǔ)句:


 SELECT TO_CHAR (TO_DATE('02#07','MM/YY'), 'MM/YY') FROM DUAL;

查詢結(jié)果如下:


+-------------------------------------------+
| TO_CHAR(TO_DATE('02#07','MM/YY'),'MM/YY') |
+-------------------------------------------+
| 02/07                                     |
+-------------------------------------------+

日期格式化元素與全球化支持

在 OceanBase 數(shù)據(jù)庫(kù)中,日期時(shí)間格式化元素的語(yǔ)言可以通過(guò)參數(shù) ?NLS_DATE_LANGUAGE? 和 ?NLS_LANGUAGE? 指定。默認(rèn)值是 ?AMERICAN?,不支持修改,所以不支持全球化。

示例:日期時(shí)間格式化的語(yǔ)言參數(shù)默認(rèn)是 ?American?,不支持其他語(yǔ)言。


SELECT TO_CHAR (SYSDATE, 'DD/MON/YYYY', 'nls_date_language=''Traditional Chinese'' ') FROM DUAL;

查詢結(jié)果報(bào)錯(cuò),語(yǔ)言參數(shù)不支持。


ORA-12702: invalid NLS parameter string used in SQL function

更多信息

  • 字符串到日期的轉(zhuǎn)換規(guī)則


網(wǎng)頁(yè)名稱:創(chuàng)新互聯(lián)OceanBase教程:OceanBase日期時(shí)間格式化
文章源于:http://www.dlmjj.cn/article/cdesdhs.html