国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Sql Server - SQL2005中char nchar varchar nvarchar數(shù)據(jù)類型的區(qū)別和使用環(huán)境講解

SQL2005中char nchar varchar nvarchar數(shù)據(jù)類型的區(qū)別和使用環(huán)境講解

2020-07-09 17:28MSSQL教程網(wǎng) Sql Server

有人討論char nchar varchar nvarchar這幾個(gè)數(shù)據(jù)類型的區(qū)別跟實(shí)際使用情況,很多人都搞不清楚究竟哪個(gè)場景使用哪個(gè)數(shù)據(jù)類型,下面用代碼解釋一下

現(xiàn)在就摘錄一下sql2005聯(lián)機(jī)叢書里的關(guān)于這幾個(gè)數(shù)據(jù)類型的解釋

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

nchar [ ( n ) ]

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

nvarchar [ ( n | max ) ]

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

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

如果列數(shù)據(jù)項(xiàng)的大小可能相同,請(qǐng)使用 nchar。

如果列數(shù)據(jù)項(xiàng)的大小可能差異很大,請(qǐng)使用 nvarchar。

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

固定長度或可變長度的字符數(shù)據(jù)類型。

char [ ( n ) ]

固定長度,非 Unicode 字符數(shù)據(jù),長度為 n 個(gè)字節(jié)。n 的取值范圍為 1 至 8,000,存儲(chǔ)大小是 n 個(gè)字節(jié)。char 的 SQL 2003 同義詞為 character。

varchar [ ( n | max ) ]

可變長度,非 Unicode 字符數(shù)據(jù)。n 的取值范圍為 1 至 8,000。max 指示最大存儲(chǔ)大小是 2^31-1 個(gè)字節(jié)。存儲(chǔ)大小是輸入數(shù)據(jù)的實(shí)際長度加 2 個(gè)字節(jié)

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

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

將為使用 char 或 varchar 的對(duì)象指派數(shù)據(jù)庫的默認(rèn)排序規(guī)則,除非使用 COLLATE 子句指派了特定的排序規(guī)則。該排序規(guī)則控制用于存儲(chǔ)字符數(shù)據(jù)的代碼頁。

如果站點(diǎn)支持多語言,請(qǐng)考慮使用 Unicode nchar 或 nvarchar 數(shù)據(jù)類型,以最大限度地消除字符轉(zhuǎn)換問題。如果使用 char 或 varchar,建議執(zhí)行以下操作:

如果列數(shù)據(jù)項(xiàng)的大小一致,則使用 char。

如果列數(shù)據(jù)項(xiàng)的大小差異相當(dāng)大,則使用 varchar。

如果列數(shù)據(jù)項(xiàng)大小相差很大,而且大小可能超過 8,000 字節(jié),請(qǐng)使用 varchar(max)。

本人測(cè)試了一下這幾個(gè)數(shù)據(jù)類型的區(qū)別,以下是測(cè)試腳本跟結(jié)果:

 

復(fù)制代碼 代碼如下:


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

 

結(jié)果:

復(fù)制代碼 代碼如下:

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一级久久 | 国产精品国产精品国产专区不片 | 精品国精品国产自在久不卡 | 国产成人高清视频 | 亚洲www啪成人一区二区 | 亚洲第一av | 国产99久久精品一区二区永久免费 | 免费簧片 | 亚洲国产精品视频 | 久草热线| 不卡一区二区三区视频 | 国产精品久久久99 | 色国产精品 | 久久性网站 | 91精品国产九九九久久久亚洲 | 欧美黑人xx | 国产精品精品视频一区二区三区 | 久久国内 | 国产视频9999| 国产精品久久99 | 久久国产精品久久久久久 | 欧美日韩在线视频免费 | 免费精品 | 亚洲精品不卡 | 91久久国产综合久久91精品网站 | 国产在线精品一区二区 | 影音先锋亚洲资源 | 欧美一区二区视频免费观看 | 欧美一级欧美三级在线观看 | 成人午夜精品一区二区三区 | 日本一区二区视频在线播放 | 亚洲国产精品成人va在线观看 | 亚洲电影在线观看 | 91在线视频播放 | 亚洲 欧美 日韩在线 | www国产亚洲精品久久网站 | www.久草.com| 国产精品成人3p一区二区三区 | 91精品国产欧美一区二区 | 一区二区三区免费在线观看 | 日韩欧美在线一区 |