无码视频在线观看,99人妻,国产午夜视频,久久久久国产一级毛片高清版新婚

  • 始創(chuàng)于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業(yè)
    • 60秒人工響應(yīng)
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    全部產(chǎn)品
    您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

    Oracle中怎樣查詢數(shù)據(jù)表的哪個字段是主鍵

    發(fā)布時間:  2012/9/20 16:44:35

    工作中要用到 Oracle 10g,經(jīng)常要向其中的某張表插入事件發(fā)生的日期及時間。專門就 Oracle 的日期及時間顯示方式和插入方式記一筆。
    像 Number,varchar2 等內(nèi)置的數(shù)據(jù)類型一樣,Oracle 用 Date 這個內(nèi)置的數(shù)據(jù)類型來存儲日期和時間。和 MS SQL Server 一樣,日期和時間是存儲在一個數(shù)據(jù)類型里的,沒有只存儲時間或只存儲日期的單獨的時間和日期數(shù)據(jù)類型。DATE 數(shù)據(jù)類型存儲年月日和時分秒。-
     


    當(dāng)顯示 DATE 類型的數(shù)據(jù)時,Oracle 先要把存儲的值從內(nèi)部保存格式轉(zhuǎn)化為可輸出的字符串。通常,這種轉(zhuǎn)換是通過 TO_CHAR 這個函數(shù)來完成的。如果沒有用 TO_CHAR 函數(shù)來指定特定的日期時間格式,Oracle 默認(rèn)的顯示格式是“DD-MON-YY”。

    例如,我們創(chuàng)建了一個表 x:
    create table abc(a int, b date);
    然后我們執(zhí)行下面的查詢語句:
    select b from abc;
    我們會看到如下結(jié)果(set head on):
    B------------ 01-APR-09 (語言是英語) 或 B------------- 01-四月 -09 (語言是中文)
    也就是說,每次顯示 DATE 類型的數(shù)值時,Oracle 會自動調(diào)用 TO_CHAR 函數(shù),并以默認(rèn)日期顯示格式為參數(shù)。我們可以顯式地調(diào)用 TO_CHAR 函數(shù),并指定自己想要的格式。例如:

    SELECT TO_CHAR(b, 'YYYY/MM/DD') AS b FROM abc;

    返回的結(jié)果是:

    B------------ 2010/09/01
    TO_CHAR 是個很強大的函數(shù),可以把 Date,MLSLABEL,Number 類型的數(shù)據(jù)按指定的格式轉(zhuǎn)換為 VARCHAR2 類型的數(shù)據(jù),我們在這里只關(guān)心日期時間的轉(zhuǎn)換。語法:

    TO_CHAR(d [, fmt [, 'nlsparams'] ])

    d 是 Date 類型的變量,fmt 是我們指定的日期時間格式,如果不顯式指定就用 Oracle 的默認(rèn)值。 fmt 里常用的跟日期時間有關(guān)的占位符如下:

    MM 用數(shù)字表示的月份(例如,07)
    MON 縮寫的月份名稱(例如,JUL)
    MONTH 完整的月份名稱(例如,JULY)
    DD 日期(例如, 24)
    DY 星期幾的縮寫(例如,F(xiàn)RI)
    YYYY 用4位表示的年份(例如, 2008)
    YY 用2位表示的年份,取年份的后兩位(例如,08)
    RR 跟 YY 類似,但兩位表示的年份被近似到 1950 到 2049 這個范圍里的年份,例如 06 被認(rèn)為是 2006,而不是 1906
    AM (或 PM) 上下午指示符
    HH 12進制表示的時間(1-12)
    HH24 24進制表示的時間(0-23)
    MI 分鐘(0-59)
    SS 秒(0-59)
    以上講的是利用 TO_CHAR 函數(shù)來顯示 DATE 類型的數(shù)據(jù),下面講講如何向表里插入一個 Date 類型的數(shù)值。這時我們要用到 TO_DATE 這個函數(shù),把字符串表示的日期轉(zhuǎn)換為 Date 類型。

    跟 Oracle 顯示日期時間時會隱性調(diào)用 TO_CHAR 函數(shù)一樣,當(dāng) Oracle 期望一個 Date 類型的值時,它會隱性調(diào)用 TO_DATE 函數(shù)來轉(zhuǎn)換輸入的字符串,依據(jù)的默認(rèn)格式是“DD-MON-YY”。

    還是以我們的 x 表為例,我們可以直接輸入:

    insert into abc values(99, '31-may-08');
    但是,在顯示時不管用什么格式都不會影響我們實際儲存的數(shù)據(jù);在插入時,單純采用 Oracle 的默認(rèn)格式就不是那么符合工作需要了,我們還是需要顯式調(diào)用 TO_DATE 函數(shù),例如:

    insert into abc values(99, to_date('2008/05/31:12:00:00AM', 'yyyy/mm/dd:hh:mi:ssam'));
    TO_DATE 函數(shù)的語法:

    TO_DATE(char [, fmt [, 'nlsparams'] ])

    char 是表示日期和時間的字符串。fmt 的表示方法和 TO_CHAR 函數(shù)一樣。

    我們前面一直提到 Oracle 默認(rèn)的日期時間格式是“DD-MON-YY”,其實,我們還可以修改這個默認(rèn)格式,把它改成我們需要的格式。在 SQL*plus 里面輸入下面的命令:

    alter session set NLS_DATE_FORMAT='<my_format>';   ——這個改變只對當(dāng)前的會話(session)有用。

    例如:

    SQL> alter   session   set   nls_date_format='yyyy-mm-dd';會話已更改。SQL> insert  into  abc (b)  values('2004-08-26');已創(chuàng)建1行。

    --------------------------------------------------------------------------------
    用 Oracle 內(nèi)置的函數(shù) SYSDATE 可以返回系統(tǒng)當(dāng)前的日期和時間,例如:
    select to_char(sysdate, 'Dy DD-Mon-YYYY HH24:MI:SS') as "Current Time" from dual;
    Two interesting things to note here:

    You can use double quotes to make names case sensitive (by default, SQL is case insensitive), or to force spaces into names. Oracle will treat everything inside the double quotes literally as a single name. In this example, if "Current Time" is not quoted, it would have been interpreted as two case insensitive names CURRENT and TIME, which would actually cause a syntax error. DUAL is built-in relation in Oracle which serves as a dummy relation to put in the FROM clause when nothing else is appropriate. For example, try "select 1+2 from dual;". Another name for the built-in function SYSDATE is CURRENT_DATE. Be aware of these special names to avoid name conflicts.


    --------------------------------------------------------------------------------
    Operations on DATE You can compare DATE values using the standard comparison operators such as =, !=, >, etc.
    You can subtract two DATE values, and the result is a FLOAT which is the number of days between the two DATE values. In general, the result may contain a fraction because DATE also has a time component. For obvious reasons, adding, multiplying, and dividing two DATE values are not allowed.

    You can add and subtract constants to and from a DATE value, and these numbers will be interpreted as numbers of days. For example, SYSDATE+1 will be tomorrow. You cannot multiply or divide DATE values.

    With the help of TO_CHAR, string operations can be used on DATE values as well. For example, to_char(<date>, 'DD-MON-YY') like '%JUN%' evaluates to true if <date> is in June.


     


    本文出自:億恩科技【mszdt.com】

    服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機 24小時售后服務(wù)電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      1
     
     
     
     

    0371-60135900
    7*24小時客服服務(wù)熱線