SQL Server中 char與varchar  

來源:互聯網
上載者:User

固定長度(char)與可變長度(varchar)字元資料類型

char[(n)]

長度為n個位元組的固定長度且非Unicode的字元資料。n必須是一個介於1和8,000之間的數值。儲存大小為n個位元組。char在SQL-92中的同義字為character。

varchar[(n)]

長度為n個位元組的可變長度且非Unicode的字元資料。n必須是一個介於1和8,000之間的數值。儲存大小為輸入資料的位元組的實際長度,而不是n個位元組。所輸入的資料字元長度可以為零。varchar在SQL-92中的同義字為char varying或character varying。

由於char是以固定長度的,所以它的速度會比varchar快得多!但程式處理起來要麻煩一點,要用trim之類的函數把兩邊的空格去掉!

注釋

如果沒有在資料定義或變數聲明語句中指定n,則預設長度為1。如果沒有使用CAST函數指定n,則預設長度為30。

將為使用char或varchar的對象被指派資料庫的預設定序,除非用COLLATE子句另外指派了特定的定序。該定序控制用於儲存字元資料的字碼頁。

支援多語言的網站應考慮使用Unicode nchar或nvarchar資料類型以盡量減少字元轉換問題。如果使用char或varchar:

如果希望列中的資料值大小接近一致,請使用char。

如果希望列中的資料值大小顯著不同,請使用varchar。

如果執行CREATE TABLE或ALTER TABLE時SET ANSI_PADDING為OFF,則一個定義為NULL的char列將被作為varchar處理。

當定序字碼頁使用雙位元組字元時,儲存大小仍然為n個位元組。根據字串的不同,n個位元組的儲存大小可能小於n個字元。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.