共用方式為


nchar 和 nvarchar (Transact-SQL)

字元資料類型,它們是固定長度 (nchar) 或可變長度 (nvarchar) 的 Unicode 資料,且使用 UNICODE UCS-2 字元集。

適用於:SQL Server (SQL Server 2008 透過目前版本)、Windows Azure SQL 資料庫 (初始版本,透過目前版本)。

引數

  • nchar [ ( n ) ]
    固定長度的 Unicode 字串資料。 n 會定義字串長度,而且必須是 1 到 4,000 之間的值。 儲存體大小是 n 個位元組的兩倍。 當定序字碼頁使用雙位元組字元時,儲存體大小仍是 n 位元組。 根據字串,n 位元組的儲存體大小可能小於針對 n 所指定的值。 nchar 的 ISO 同義字是 national char 和 national character。

  • nvarchar [ ( n | max ) ]
    長度可變的 Unicode 字串資料。 n 會定義字串長度,而且可以是 1 到 4,000 之間的值。 max 表示儲存體大小上限是 2^31-1 個位元組 (2 GB)。 儲存體大小 (以位元組為單位) 是輸入資料之實際長度的兩倍 + 2 位元組。 nvarchar 的 ISO 同義字是 national char varying 和 national character varying。

備註

當資料定義或變數宣告陳述式中沒有指定 n 時,預設長度為 1。 當 n 不是由 CAST 函數指定時,預設長度為 30。

當資料行資料項目的大小有可能相似時,請使用 nchar。

當資料行資料項目的大小有可能非常不同時,請使用 nvarchar。

sysname 是系統提供的使用者定義資料類型,功能相當於 nvarchar(128),但不可設為 Null。 sysname 可用於參考資料庫物件名稱。

除非利用 COLLATE 子句指派了特定定序,否則,使用 nchar 或 nvarchar 的物件會被指派資料庫的預設定序。

nchar 和 nvarchar 的 SET ANSI_PADDING 一律設為 ON。 SET ANSI_PADDING OFF 不適用於 nchar 或 nvarchar 資料類型。

以字母 N 做為 Unicode 字元字串常數的前置詞。 若沒有 N 前置詞,字串會被轉換為資料庫預設的字碼頁。 這個預設字碼頁可能無法辨識特定字元。

轉換字元資料

如需有關轉換字元資料的詳細資訊,請參閱<char 和 varchar (Transact-SQL)>。

範例

CREATE TABLE dbo.MyTable
(
  MyNCharColumn nchar(15)
 ,MyNVarCharColumn nvarchar(20)
  
);


GO
INSERT INTO dbo.MyTable VALUES (N'Test data', N'More test data');
GO
SELECT MyNCharColumn, MyNVarCharColumn
FROM dbo.MyTable;

以下為結果集:

MyNCharColumn   MyNVarCharColumn
--------------- --------------------
Test data       More test data

(1 row(s) affected)

請參閱

參考

ALTER TABLE (Transact-SQL)

CAST 和 CONVERT (Transact-SQL)

COLLATE (Transact-SQL)

CREATE TABLE (SQL Server)

資料類型 (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

LIKE (Transact-SQL)

SET ANSI_PADDING (Transact-SQL)

SET @local\_variable (Transact-SQL)

概念

定序與 Unicode 支援