<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    【永恒的瞬間】
    ?Give me hapy ?
    SQL Server 日期格式轉(zhuǎn)換(Convert用法

           SQL Server中,Convert可以將日期轉(zhuǎn)換成不同格式,格式控制是由CONVERT (data_type[(length)], expression [, style])中的style來完成的。下面列出了style取各種值時的效果:

            在表中,左側(cè)的兩列表示將 datetimesmalldatetime 轉(zhuǎn)換為字符數(shù)據(jù)的 style 值。給 style 值加 100,可獲得包括世紀(jì)數(shù)位的四位年份 (yyyy)。

    不帶世紀(jì)數(shù)位 (yy) 帶世紀(jì)數(shù)位 (yyyy)
    標(biāo)準(zhǔn)

    輸入/輸出**
    - 0 或 100 (*) 默認(rèn)值 mon dd yyyy hh:miAM(或 PM)
    1 101 美國 mm/dd/yyyy
    2 102 ANSI yy.mm.dd
    3 103 英國/法國 dd/mm/yy
    4 104 德國 dd.mm.yy
    5 105 意大利 dd-mm-yy
    6 106 - dd mon yy
    7 107 - mon dd, yy
    8 108 - hh:mm:ss
    - 9 或 109 (*) 默認(rèn)值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
    10 110 美國 mm-dd-yy
    11 111 日本 yy/mm/dd
    12 112 ISO yymmdd
    - 13 或 113 (*) 歐洲默認(rèn)值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
    14 114 - hh:mi:ss:mmm(24h)
    - 20 或 120 (*) ODBC 規(guī)范 yyyy-mm-dd hh:mm:ss[.fff]
    - 21 或 121 (*) ODBC 規(guī)范(帶毫秒) yyyy-mm-dd hh:mm:ss[.fff]
    - 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
    - 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
    - 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM

    *      默認(rèn)值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始終返回世紀(jì)數(shù)位 (yyyy)。
    ** 當(dāng)轉(zhuǎn)換為 datetime 時輸入;當(dāng)轉(zhuǎn)換為字符數(shù)據(jù)時輸出。
    *** 專門用于 XML。對于從 datetimesmalldatetimecharacter 數(shù)據(jù)的轉(zhuǎn)換,輸出格式如表中所示。對于從 float、moneysmallmoneycharacter 數(shù)據(jù)的轉(zhuǎn)換,輸出等同于 style 2。對于從 realcharacter 數(shù)據(jù)的轉(zhuǎn)換,輸出等同于 style 1。

    重要    默認(rèn)情況下,SQL Server 根據(jù)截止年份 2049 解釋兩位數(shù)字的年份。即,兩位數(shù)字的年份 49 被解釋為 2049,而兩位數(shù)字的年份 50 被解釋為 1950。許多客戶端應(yīng)用程序(例如那些基于 OLE 自動化對象的客戶端應(yīng)用程序)都使用 2030 作為截止年份。SQL Server 提供一個配置選項(xiàng)("兩位數(shù)字的截止年份"),借以更改 SQL Server 所使用的截止年份并對日期進(jìn)行一致性處理。然而最安全的辦法是指定四位數(shù)字年份。

     

            當(dāng)從 smalldatetime 轉(zhuǎn)換為字符數(shù)據(jù)時,包含秒或毫秒的樣式將在這些位置上顯示零。當(dāng)從 datetimesmalldatetime 值進(jìn)行轉(zhuǎn)換時,可以通過使用適當(dāng)?shù)?charvarchar 數(shù)據(jù)類型長度來截斷不需要的日期部分。

           如果想去掉字符串中的分隔符,可以用replace函數(shù)。比如:replace(replace(replace(replace(convert(varchar(30),getdate(),121),'-',''),' ',''),':',''),'.','')

    DBCC命令詳解

             我們知道,在數(shù)據(jù)庫系統(tǒng)的開發(fā)和應(yīng)用中,必須保證數(shù)據(jù)庫的完整性和一致性。
    當(dāng)數(shù)據(jù)庫出現(xiàn)了嚴(yán)重錯誤;當(dāng)我們懷疑數(shù)據(jù)庫受到破壞(如無法用drop命令刪除數(shù)據(jù)庫或?qū)ο螅褂媚硞€表時出現(xiàn)“不可靠數(shù)據(jù)”的信息等);當(dāng)用戶改變了Server的缺省排序的順序或改變了字符集而需要檢查;當(dāng)SA對系統(tǒng)做定期檢查;這些時候,我們都需要使用數(shù)據(jù)庫一致性檢查工具(Database Consistenecy Checker,簡稱DBCC)。DBCC是一個實(shí)用命令集,用來檢查一個數(shù)據(jù)庫的邏輯一致性及物理一致性。在開發(fā)和應(yīng)用中,DBCC是我們經(jīng)常要使用的命令。

      DBCC命令的格式如下  

    dbcc
    (checktable ((表名|表標(biāo)識( [, skip_ncindex] ) |
    checkdb [(數(shù)據(jù)庫名[, skip_ncindex] )] |
    checkalloc [ (數(shù)據(jù)庫名[, fix | nofix] )] |
    tablealloc( {表名|表標(biāo)識}
    [,{full |optimized |fast |null}
    [, fix |nofix] ]]) |
    indexalloc ( {表名|表標(biāo)識},索引標(biāo)識
    [,{full |optimezed | fast | null}
    [, fix |nofix ]] ) |
    checkcatalog [ (數(shù)據(jù)庫名)] |
    dbrepair(數(shù)據(jù)庫名,dropdb ) |
    reindex({表名|表標(biāo)識} ) |
    fix_text({表名|表標(biāo)識) }  

      dbcc的權(quán)限,對于checktable,fix_text和reindex是缺省賦給表的屬主,對于checkdb,checkalloc,checkcatalog,dbrepair,indexalloc和tablealloc,是缺省賦給數(shù)據(jù)庫屬主的。DBO自動獲得DBCC命令和全部選項(xiàng)的權(quán)限。該權(quán)限不可轉(zhuǎn)授。此外,dbcc在數(shù)據(jù)庫是活動時運(yùn)行,除了dbrepair選項(xiàng)和帶有fix選項(xiàng)的dbcc checkalloc以外。

      checktable選項(xiàng)

      checktable是用來對一個指定的表做檢查,確保索引和數(shù)據(jù)頁正確地連接,索引按正確的順序存儲,所有指針的一致性,每頁上數(shù)據(jù)信息的合理性,頁偏移的合理性。如果日志段在它自己的(日志)設(shè)備上,對syslogs表使用dbcc checktable命令可以報告已使用的和剩余的日志空間,使用skip_ncindex選項(xiàng)使得dbcc checktable跳過對用戶表上非聚簇索引(nonclustered index)的檢查。缺省是檢查所有的索引。

      例1.檢查日志使用的空間量和未用的空間量:

    dbcc checktable (syslogs)  

      若日志段在日志設(shè)備上,則會返回如下信息:

    checking syslogs
    The total number of data page in the table is 1.
    NOTICE:Space used on the log segment is 0.20 Mbytes, 0.13%.
    NOTICE:Space free on the log segment is 153.4Mbytes,99.87%.
    DBCC execution Completed.If dbcc printed error messages,
    Contact a user with SA role.  

      若日志不在它自己的設(shè)備上,則會顯示下列信息:

    NOTICE:Notification of log space used/free.
    Can not be reported because the log segment is not on its own device.
    例2. dbcc checktable (titles)
    The total number of data page in this table is 3.
    Table has 18 data rows.
    DBCC execution Completed. If DBCC printed error messages. contact a user with SA role.  

      checkdb選項(xiàng)

      運(yùn)行checkdb選項(xiàng)同checktable檢查的內(nèi)容一樣,但它是對一指定數(shù)據(jù)庫中的每張表都做這樣的檢查。若未指定數(shù)據(jù)庫名,checkdb檢查當(dāng)前的數(shù)據(jù)庫。checkdb返回的信息,也同于checktable。

      checkalloc選項(xiàng)

      checkalloc是檢查指定數(shù)據(jù)庫,看其所有正確分配的頁和尚未分配的頁的情況。若未指定數(shù)據(jù)庫名,則checkalloc檢查當(dāng)前數(shù)據(jù)庫。checkalloc會返回已分配的和使用的空間數(shù)量。checkalloc的缺省模式為nofix,要使用fix選項(xiàng),必須把數(shù)據(jù)庫置于單用戶模式。

     例:

    dbcc checkalloc (pubs2)
    .
    .
    .
    alloc page 0 (#of extent=32 used pages=68 ref pages=68)
    alloc page 256 (# of extent=32 used pages=154 ref pages=154)
    alloc page 512 (# of extent=28 used pages=184 ref pages=184)
    alloc page 768 (# of extent=1 used pages=1 ref pages=1)
    total (# of extent=93 used pages=407 ref pages=407) in this database.
    DBCC execution completed.If dbcc printed error message,
    Contact a user with System Adminstrator (SA) role.  

      tablealloc選項(xiàng)

      tablealloc檢查指定的表以確保所有頁都被正確地分配。它是checkalloc的縮小版本。對單張表進(jìn)行相同的完整性檢查。使用tablealloc可以生成三種類型的報表:full,optimized和fast。full選項(xiàng)相當(dāng)于表一級的checkalloc;它報告各種類型的分配錯誤。optimized選項(xiàng)基于表的對象分配映像(OAM)頁里列出的分配頁生成報告。它并不報告,也不能整理OAM頁里沒有列出的在分配頁上沒有引用的擴(kuò)展(extent)。如果沒有指明類型,或使用了null,則optimized選項(xiàng)是缺省的設(shè)置。fast選項(xiàng),并不生成分配報告,但生成一個被引用但并沒有在擴(kuò)展里分配的頁的額外的報告。fix|nofix選項(xiàng)決定tablealloc 是否整理表中發(fā)現(xiàn)的分配錯誤。對于所有的表,缺省為fix,但系統(tǒng)表除外,它們的缺省為nofix。要對系統(tǒng)表使用fix選項(xiàng),必須首先將數(shù)據(jù)庫置成單用戶模式。

    例:

    dbcc tablealloc(titles)
    顯示信息如下:
    The default report option of OPTIMIZED is used for this run. The default fix option of FIX.is used for this run.
    .
    .
    .
    Total #of extent=3
    Alloc page 256 (# of extent=1 used pages=2 ref pages=2).
    Alloc page 256(# of extent=1 used pages=2 ref pages=2)
    Alloc page 256 (# of extent=1 used pages=2 ref pages=2)
    Total (# of extent=3 used pages=8 ref pages=8) in this database.  

      indexalloc 選項(xiàng)

      indexalloc檢查指定的索引,確保所有的頁都被正確地分配,它是checkalloc的縮小版本,對單獨(dú)一條索引指定同樣的完整性檢查。其中各選項(xiàng)與tablealloc相同。

      checkcatalog選項(xiàng)

      checkcatalog選項(xiàng)用于檢查系統(tǒng)表內(nèi),系統(tǒng)表之間的一致性。例如:它確保在syscolumns表中的每一(數(shù)據(jù))類型在systypes表中都有一個相匹配的記錄;對于sysobjects中的每個表和視圖在syscolumns表中應(yīng)有關(guān)于它們每一列的描述記錄;確保在syslogs中的最后一個檢查點(diǎn)是有效的。checkcatalog也報告任何已定義的段。若不指定數(shù)據(jù)庫名,則檢查當(dāng)前數(shù)據(jù)庫。

      dbrepair選項(xiàng)

      dbrepair(數(shù)據(jù)庫名,dropdb)選項(xiàng)是刪除一個受破壞的數(shù)據(jù)庫。受破壞的數(shù)據(jù)庫是不能用drop database命令刪除的,drop database只能刪除正常的數(shù)據(jù)庫,當(dāng)執(zhí)行dbrepair命令時,任何用戶(包括執(zhí)行此命令的用戶)都不得使用正被刪除的數(shù)據(jù)庫。該選項(xiàng)要在master庫中運(yùn)行。

      reindex選項(xiàng)

      reindex選項(xiàng)通過運(yùn)行dbcc checktable的“fast”執(zhí)行方式檢查用戶表上索引的完整性。如果它檢測出索引有問題則會刪除并重建索引。在SQL Server的排列順序改變之后,SA或表屬主應(yīng)該執(zhí)行這一選項(xiàng)。此選項(xiàng)不能在用戶定義的事務(wù)中運(yùn)行。

    例:

    dbcc reindex (titles)
    返回信息:One or more indexes corrupt.They will be rebuilt.  

      fix_text選項(xiàng)

      SQL Server的字符集由單字節(jié)轉(zhuǎn)變?yōu)槎嘧止?jié)后,fix_text選項(xiàng)用于升級文本值。SQL Server的字符集由單字節(jié)轉(zhuǎn)變?yōu)槎嘧止?jié)字符集會使文本數(shù)據(jù)的管理更加復(fù)雜。由于文本值可能較大足以覆蓋若干頁,SQL Server必須能處理(通過頁約束)可能橫跨頁的字符。為做到這點(diǎn),服務(wù)器需要在每一文本頁上添加一些信息。SA或表屬主必須在文本數(shù)據(jù)的每一個表上運(yùn)行dbcc fix_text,以計算所需要的新頁數(shù)。

      總之,DBCC命令所返回的信息能準(zhǔn)確地反映數(shù)據(jù)庫及它的各個對象的狀態(tài),是我們檢測數(shù)據(jù)庫的好幫手。


    posted on 2007-04-13 08:31 ???MengChuChen 閱讀(6609) 評論(2)  編輯  收藏 所屬分類: ORACLE

    FeedBack:
    # re: SQL Server 日期格式轉(zhuǎn)換(Convert用法)DBCC命令詳解
    2009-03-19 11:12 | madine
    大家好  回復(fù)  更多評論
      
    # re: SQL Server 日期格式轉(zhuǎn)換(Convert用法)DBCC命令詳解
    2009-03-19 11:12 | 江西省以純辦事處
    @madine
      回復(fù)  更多評論
      
    主站蜘蛛池模板: 国产产在线精品亚洲AAVV| 日本亚洲成高清一区二区三区| 久久精品国产亚洲av水果派| 你懂的免费在线观看| 亚洲一级Av无码毛片久久精品| 亚洲av永久中文无码精品综合| 女人张开腿给人桶免费视频| 亚洲日本久久一区二区va| 中文字幕无码不卡免费视频| 亚洲va乱码一区二区三区| 黄瓜视频高清在线看免费下载| 亚洲无人区码一二三码区别图片| 日韩欧美一区二区三区免费观看 | 国产精品久久永久免费| 久久亚洲AV成人无码电影| **毛片免费观看久久精品| 亚洲一区二区三区播放在线| 成年人免费观看视频网站| 亚洲午夜无码毛片av久久京东热| 国产资源免费观看| 一级毛片正片免费视频手机看| 亚洲日本中文字幕一区二区三区| 中国一级毛片视频免费看| 无码久久精品国产亚洲Av影片 | 亚洲精品在线网站| 巨胸喷奶水视频www网免费| 韩国亚洲伊人久久综合影院| 亚洲一级片免费看| 最近中文字幕高清免费中文字幕mv| 久久久久se色偷偷亚洲精品av| 免费理论片51人人看电影| 四虎影视久久久免费| 久久综合图区亚洲综合图区| 99精品国产免费久久久久久下载| 亚洲av永久无码| 亚洲中文字幕无码爆乳AV| 欧洲一级毛片免费| 美女被羞羞网站免费下载| 久久亚洲精品AB无码播放| AV免费网址在线观看| 久久九九免费高清视频|