日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

日期時間格式化指定了存儲在數(shù)據(jù)庫中日期時間數(shù)據(jù)的格式。日期時間格式化的總長度不能超過 22 個字符。

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

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

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

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

您可以通過以下方式指定日期時間格式。

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

日期時間格式化

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

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

注意 
建議您使用 4 位數(shù)的年份元素(?
YYYY?),較短的年份元素會影響查詢優(yōu)化,因為年份只能在運行時確定。

日期時間格式化元素表

元素

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

說明

- / , 。 ; : “文字”

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

AD A.D.

表示公元紀(jì)年法,帶有或不帶有點號。

AM A.M.

表示上午,帶有或不帶有點號。

BC B.C.

表示公元前的年份,帶有或不帶有點號。

D

星期幾(1-7)。

DAY

一天的名稱。

DD

每月的一天(1-31)。

DDD

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

DL

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

DS

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

DY

日期的縮寫,返回星期值。

FF [1..9]

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

FX

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

HHHH12

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

HH24

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

YYYY

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

MI

分鐘(0-59)。

MM

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

MON

月份的縮寫。

MONTH

月份名稱。

PM P.M.

表示下午,帶有或不帶有點號。

Q

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

RR

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

RRRR

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

SS

秒(0-59)。

SSSSS

午夜后的秒(0-86400)。

TZD

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

TZH

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

TZM

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

TZR

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

X

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

Y,YYY

帶逗號的年。

YYYYSYYYY

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

YYYYYY

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

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

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


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ù)庫中默認(rèn)的日期格式為 DD-MON-RR,如果要顯示為上面的格式,可以通過執(zhí)行 alter session set NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'; 修改當(dāng)前會話的日期時間格式。

當(dāng)您的格式串漏掉了一些元素時,會得到系統(tǒng)的報錯信息:


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

日期格式化元素中的大寫字母

拼寫出來的單詞、縮寫詞或羅馬數(shù)字中的大寫字母在相應(yīng)的格式元素中也跟著大寫。例如,日期格式元素 ?DAY? 產(chǎn)生的 ?MONDAY? 也大寫,?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)
    

日期時間格式化中的標(biāo)點符號和字符字面量

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

  • 標(biāo)點符號,例如連字符,斜杠,逗號,句號和冒號。
  • 字符字面量,用雙引號引起來。

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

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

執(zhí)行以下語句:


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ù)庫允許非字母數(shù)字字符與格式化中的標(biāo)點字符匹配,# 對應(yīng) /。

執(zhí)行以下語句:


 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ù)庫中,日期時間格式化元素的語言可以通過參數(shù) ?NLS_DATE_LANGUAGE? 和 ?NLS_LANGUAGE? 指定。默認(rèn)值是 ?AMERICAN?,不支持修改,所以不支持全球化。

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


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

查詢結(jié)果報錯,語言參數(shù)不支持。


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

更多信息

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


網(wǎng)頁標(biāo)題:創(chuàng)新互聯(lián)OceanBase教程:OceanBase日期時間格式化
文章起源:http://m.5511xx.com/article/cdesdhs.html