激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

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

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

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

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


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

        例如,我們創(chuàng)建了一個(gè)表 x:
        create table abc(a int, b date);
        然后我們執(zhí)行下面的查詢語(yǔ)句:
        select b from abc;
        我們會(huì)看到如下結(jié)果(set head on):
        B------------ 01-APR-09 (語(yǔ)言是英語(yǔ)) 或 B------------- 01-四月 -09 (語(yǔ)言是中文)
        也就是說(shuō),每次顯示 DATE 類型的數(shù)值時(shí),Oracle 會(huì)自動(dòng)調(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 是個(gè)很強(qiáng)大的函數(shù),可以把 Date,MLSLABEL,Number 類型的數(shù)據(jù)按指定的格式轉(zhuǎn)換為 VARCHAR2 類型的數(shù)據(jù),我們?cè)谶@里只關(guān)心日期時(shí)間的轉(zhuǎn)換。語(yǔ)法:

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

        d 是 Date 類型的變量,fmt 是我們指定的日期時(shí)間格式,如果不顯式指定就用 Oracle 的默認(rèn)值。 fmt 里常用的跟日期時(shí)間有關(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 這個(gè)范圍里的年份,例如 06 被認(rèn)為是 2006,而不是 1906
        AM (或 PM) 上下午指示符
        HH 12進(jìn)制表示的時(shí)間(1-12)
        HH24 24進(jìn)制表示的時(shí)間(0-23)
        MI 分鐘(0-59)
        SS 秒(0-59)
        以上講的是利用 TO_CHAR 函數(shù)來(lái)顯示 DATE 類型的數(shù)據(jù),下面講講如何向表里插入一個(gè) Date 類型的數(shù)值。這時(shí)我們要用到 TO_DATE 這個(gè)函數(shù),把字符串表示的日期轉(zhuǎn)換為 Date 類型。

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

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

        insert into abc values(99, '31-may-08');
        但是,在顯示時(shí)不管用什么格式都不會(huì)影響我們實(shí)際儲(chǔ)存的數(shù)據(jù);在插入時(shí),單純采用 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ù)的語(yǔ)法:

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

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

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

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

        例如:

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

        --------------------------------------------------------------------------------
        用 Oracle 內(nèi)置的函數(shù) SYSDATE 可以返回系統(tǒng)當(dāng)前的日期和時(shí)間,例如:
        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ù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

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

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