校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > SQL2005中char nchar varchar nvarchar數據類型的區別和使用環境講解

SQL2005中char nchar varchar nvarchar數據類型的區別和使用環境講解

熱門標簽:九鹿林外呼系統怎么收費 浙江地圖標注 電銷機器人虛擬號碼 滄州營銷外呼系統軟件 沈陽智能外呼系統代理 松原導航地圖標注 海南自動外呼系統價格 舞鋼市地圖標注app 創業電銷機器人

現在就摘錄一下sql2005聯機叢書里的關于這幾個數據類型的解釋

字符數據類型(nchar 長度固定,nvarchar 長度可變)和 Unicode 數據使用 UNICODE UCS-2 字符集。

nchar [ ( n ) ]

n 個字符的固定長度的 Unicode 字符數據。n 值必須在 1 到 4,000 之間(含)。存儲大小為兩倍 n 字節。nchar 的 SQL-2003 同義詞為 national char 和 national character。

nvarchar [ ( n | max ) ]

可變長度 Unicode 字符數據。n 值在 1 到 4,000 之間(含)。max 指示最大存儲大小為 2^31-1 字節。存儲大小是所輸入字符個數的兩倍 + 2 個字節。所輸入數據的長度可以為 0 個字符。nvarchar 的 SQL-2003 同義詞為 national char varying 和 national character varying。

備注 如果沒有在數據定義或變量聲明語句中指定 n,則默認長度為 1。如果沒有使用 CAST 函數指定 n,則默認長度為 30。

如果列數據項的大小可能相同,請使用 nchar。

如果列數據項的大小可能差異很大,請使用 nvarchar。

sysname 是系統提供的用戶定義數據類型,除了不以為零外,在功能上與 nvarchar(128) 相同。sysname 用于引用數據庫對象名

固定長度或可變長度的字符數據類型。

char [ ( n ) ]

固定長度,非 Unicode 字符數據,長度為 n 個字節。n 的取值范圍為 1 至 8,000,存儲大小是 n 個字節。char 的 SQL 2003 同義詞為 character。

varchar [ ( n | max ) ]

可變長度,非 Unicode 字符數據。n 的取值范圍為 1 至 8,000。max 指示最大存儲大小是 2^31-1 個字節。存儲大小是輸入數據的實際長度加 2 個字節

可變長度的偏移陣列  VarOffset   2*VarCount(每一列都要另外加上2個自己的偏移量)。所輸入數據的長度可以為 0 個字符。SQL-2003 中的 varchar 就是 char varying 或 character varying。

備注 如果未在數據定義或變量聲明語句中指定 n,則默認長度為 1。如果在使用 CAST 和 CONVERT 函數時未指定 n,則默認長度為 30。

將為使用 char 或 varchar 的對象指派數據庫的默認排序規則,除非使用 COLLATE 子句指派了特定的排序規則。該排序規則控制用于存儲字符數據的代碼頁。

如果站點支持多語言,請考慮使用 Unicode nchar 或 nvarchar 數據類型,以最大限度地消除字符轉換問題。如果使用 char 或 varchar,建議執行以下操作:

如果列數據項的大小一致,則使用 char。

如果列數據項的大小差異相當大,則使用 varchar。

如果列數據項大小相差很大,而且大小可能超過 8,000 字節,請使用 varchar(max)。

本人測試了一下這幾個數據類型的區別,以下是測試腳本跟結果:

復制代碼 代碼如下:

DECLARE @a CHAR(6)
SET @a='您啊啊啊啊是'
PRINT 'char:'+@a

DECLARE @b CHAR(6)
SET @b='abcdefg'
PRINT 'char:'+@b

DECLARE @c CHAR(6)
SET @c='123456'
PRINT 'char:'+@c
-----------------------

DECLARE @d NCHAR(6)
SET @d=N'您啊啊啊啊是'
PRINT 'nchar:'+@d

DECLARE @e NCHAR(6)
SET @e=N'abcdefg'
PRINT 'nchar:'+@e

DECLARE @f NCHAR(6)
SET @f=N'123456'
PRINT 'nchar:'+@f
------------------------------

DECLARE @g VARCHAR(6)
SET @g='您啊啊啊啊是'
PRINT 'varchar:'+@g

DECLARE @h VARCHAR(6)
SET @h='abcdefg'
PRINT 'varchar:'+@h

DECLARE @i VARCHAR(6)
SET @i='123456'
PRINT 'varchar:'+@i
--------------------------------
DECLARE @j NVARCHAR(6)
SET @j=N'您啊啊啊啊是'
PRINT 'nvarchar:'+@j

DECLARE @k NVARCHAR(6)
SET @k=N'abcdefg'
PRINT 'nvarchar:'+@k

DECLARE @l NVARCHAR(6)
SET @l=N'123456'
PRINT 'nvarchar:'+@l

結果:

復制代碼 代碼如下:

char:您啊啊
char:abcdef
char:123456
nchar:您啊啊啊啊是
nchar:abcdef
nchar:123456
varchar:您啊啊
varchar:abcdef
varchar:123456
nvarchar:您啊啊啊啊是
nvarchar:abcdef
nvarchar:123456

您可能感興趣的文章:
  • 詳解SQL Server中的數據類型
  • 詳解MySQL數據類型int(M)中M的含義
  • mysql存儲引擎和數據類型(二)
  • Java數據類型與MySql數據類型對照表
  • SQL Server數據類型轉換方法
  • SQL Server比較常見數據類型詳解
  • SQLite教程(七):數據類型詳解
  • SQL Server數據類型char、nchar、varchar、nvarchar的區別淺析
  • sql使用cast進行數據類型轉換示例
  • SQL的常用數據類型列表詳解

標簽:海口 西藏 公主嶺 咸寧 日喀則 寶雞 臺灣 商洛

巨人網絡通訊聲明:本文標題《SQL2005中char nchar varchar nvarchar數據類型的區別和使用環境講解》,本文關鍵詞  SQL2005,中,char,nchar,varchar,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL2005中char nchar varchar nvarchar數據類型的區別和使用環境講解》相關的同類信息!
  • 本頁收集關于SQL2005中char nchar varchar nvarchar數據類型的區別和使用環境講解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 双牌县| 若尔盖县| 长春市| 深泽县| 南投县| 西平县| 讷河市| 德兴市| 定边县| 哈尔滨市| 军事| 芜湖县| 安阳市| 东乡族自治县| 惠东县| 高阳县| 丁青县| 甘肃省| 临泉县| 义乌市| 永登县| 松溪县| 高州市| 万宁市| 当涂县| 东莞市| 醴陵市| 镇安县| 冷水江市| 泸州市| 含山县| 合山市| 鄂州市| 广西| 昭通市| 阳信县| 长宁县| 鄂托克前旗| 甘孜| 湾仔区| 尚义县|