char和nchar有什么区别啊? nchar与char有什么区别?

\u6570\u636e\u5e93\u4e2dchar\u548cnchar\u7684\u533a\u522b\uff0c\u5206\u522b\u4ec0\u4e48\u65f6\u5019\u7528\uff0c\u4ec0\u4e48\u610f\u601d\uff0c\u6c42\u89e3\u91ca\u3002

1\u3001\u5b57\u8282\u4e0d\u540c
char\u7c7b\u578b\u662f\u4e00\u4e2a\u5b57\u8282char\uff088\uff09\u53ea\u80fd\u5b588\u5b57\u6bcd\uff1b
nchar\u7c7b\u578b\u662f\u53cc\u5b57\u8282nchar\uff088\uff09\u80fd\u5b588\u4e2a\u6c49\u5b57\uff1b

2\u3001\u5360\u636e\u7a7a\u95f4\u4e0d\u540c
CHAR\u3001CHAR\u5b58\u50a8\u5b9a\u957f\u6570\u636e\u5f88\u65b9\u4fbf\uff0cCHAR\u5b57\u6bb5\u4e0a\u7684\u7d22\u5f15\u6548\u7387\u7ea7\u9ad8\uff0c\u6bd4\u5982\u5b9a\u4e49char(10)\uff1b
\u90a3\u4e48\u4e0d\u8bba\u5b58\u50a8\u7684\u6570\u636e\u662f\u5426\u8fbe\u5230\u4e8610\u4e2a\u5b57\u8282\uff0c\u90fd\u8981\u5360\u53bb10\u4e2a\u5b57\u8282\u7684\u7a7a\u95f4\uff1b
3\u3001\u4f7f\u7528\u6761\u4ef6\u4e0d\u540c
\u5982\u679c\u6570\u636e\u91cf\u975e\u5e38\u5927\uff0c\u53c8\u80fd100%\u786e\u5b9a\u957f\u5ea6\u4e14\u4fdd\u5b58\u53ea\u662fansi\u5b57\u7b26\uff0c\u90a3\u4e48char\uff1b\u80fd\u786e\u5b9a\u957f\u5ea6\u53c8\u4e0d\u4e00\u5b9a\u662fansi\u5b57\u7b26\u6216\u8005\uff0c\u90a3\u4e48\u7528nchar\uff1b
\u5bf9\u4e8e\u8d85\u5927\u6570\u636e\uff0c\u5982\u6587\u7ae0\u5185\u5bb9\uff0c\u4f7f\u7528nText\uff1b\u5176\u4ed6\u7684\u901a\u7528nvarchar\u3002

char \u548c varchar
\u56fa\u5b9a\u957f\u5ea6 (char) \u6216\u53ef\u53d8\u957f\u5ea6 (varchar) \u5b57\u7b26\u6570\u636e\u7c7b\u578b\u3002

nchar
\u6839\u636e unicode \u6807\u51c6\u6240\u8fdb\u884c\u7684\u5b9a\u4e49\uff0c\u7528\u7ed9\u5b9a\u6574\u6570\u4ee3\u7801\u8fd4\u56de unicode \u5b57\u7b26\u3002



\u53d1\u8868\u8005\uff1aczfeng
char\u662f\u56fa\u5b9a\u957f\u5ea6\u7684\u5b57\u8282\uff0cvarchar\u662f\u53ef\u53d8\u957f\u5ea6\u7684\u5b57\u8282\uff0cnchar\u662funicode\u7f16\u7801\u7684\u56fa\u5b9a\u5b57\u7b26\u957f\u5ea6\u3002
\u5982\uff1a12345 \u5728char(6)\u5b58\u50a8\u4e3a123456\u52a0\u4e00\u4e2a\u7a7a\u683c\uff0c\u51716\u4e2a\u5b57\u8282\u3002
\u4e2d\u56fd \u5728char(6)\u5b58\u50a8\u4e3a\u4e2d\u56fd\u52a0\u4e24\u4e2a\u7a7a\u683c\uff0c\u51716\u4e2a\u5b57\u8282\u3002
12345 \u5728varchar(6)\u5b58\u50a8\u4e3a123456\uff0c\u51715\u4e2a\u5b57\u8282\u3002
\u4e2d\u56fd \u5728varchar(6)\u5b58\u50a8\u4e3a\u4e2d\u56fd\uff0c\u51714\u4e2a\u5b57\u8282\u3002
nchar(6)\u5bf9\u6c49\u5b57\u548c\u534a\u89d2\u5b57\u7b26\u5904\u7406\u65f6\u4e00\u6837\u7684\uff0c\u5373\u53ef\u4ee5\u5b58\u50a86\u4e2a\u6c49\u5b57\uff0c\u4e5f\u53ef\u4ee5\u5b58\u50a86\u4e2a\u5b57\u6bcd



\u5728\u7d22\u5f15\u4e2d\u8f93\u5165:char ; varchar ; nchar

char \u548c varchar
\u56fa\u5b9a\u957f\u5ea6 (char) \u6216\u53ef\u53d8\u957f\u5ea6 (varchar) \u5b57\u7b26\u6570\u636e\u7c7b\u578b\u3002

char[(n)]

\u957f\u5ea6\u4e3a n \u4e2a\u5b57\u8282\u7684\u56fa\u5b9a\u957f\u5ea6\u4e14\u975e unicode \u7684\u5b57\u7b26\u6570\u636e\u3002n \u5fc5\u987b\u662f\u4e00\u4e2a\u4ecb\u4e8e 1 \u548c 8,000 \u4e4b\u95f4\u7684\u6570\u503c\u3002\u5b58\u50a8\u5927\u5c0f\u4e3a n \u4e2a\u5b57\u8282\u3002char \u5728 sql-92 \u4e2d\u7684\u540c\u4e49\u8bcd\u4e3a character\u3002

varchar[(n)]

\u957f\u5ea6\u4e3a n \u4e2a\u5b57\u8282\u7684\u53ef\u53d8\u957f\u5ea6\u4e14\u975e unicode \u7684\u5b57\u7b26\u6570\u636e\u3002n \u5fc5\u987b\u662f\u4e00\u4e2a\u4ecb\u4e8e 1 \u548c 8,000 \u4e4b\u95f4\u7684\u6570\u503c\u3002\u5b58\u50a8\u5927\u5c0f\u4e3a\u8f93\u5165\u6570\u636e\u7684\u5b57\u8282\u7684\u5b9e\u9645\u957f\u5ea6\uff0c\u800c\u4e0d\u662f n \u4e2a\u5b57\u8282\u3002\u6240\u8f93\u5165\u7684\u6570\u636e\u5b57\u7b26\u957f\u5ea6\u53ef\u4ee5\u4e3a\u96f6\u3002varchar \u5728 sql-92 \u4e2d\u7684\u540c\u4e49\u8bcd\u4e3a char varying \u6216 character varying\u3002

\u6ce8\u91ca
\u5982\u679c\u6ca1\u6709\u5728\u6570\u636e\u5b9a\u4e49\u6216\u53d8\u91cf\u58f0\u660e\u8bed\u53e5\u4e2d\u6307\u5b9a n\uff0c\u5219\u9ed8\u8ba4\u957f\u5ea6\u4e3a 1\u3002\u5982\u679c\u6ca1\u6709\u4f7f\u7528 cast \u51fd\u6570\u6307\u5b9a n\uff0c\u5219\u9ed8\u8ba4\u957f\u5ea6\u4e3a 30\u3002

\u5c06\u4e3a\u4f7f\u7528 char \u6216 varchar \u7684\u5bf9\u8c61\u88ab\u6307\u6d3e\u6570\u636e\u5e93\u7684\u9ed8\u8ba4\u6392\u5e8f\u89c4\u5219\uff0c\u9664\u975e\u7528 collate \u5b50\u53e5\u53e6\u5916\u6307\u6d3e\u4e86\u7279\u5b9a\u7684\u6392\u5e8f\u89c4\u5219\u3002\u8be5\u6392\u5e8f\u89c4\u5219\u63a7\u5236\u7528\u4e8e\u5b58\u50a8\u5b57\u7b26\u6570\u636e\u7684\u4ee3\u7801\u9875\u3002

\u652f\u6301\u591a\u8bed\u8a00\u7684\u7ad9\u70b9\u5e94\u8003\u8651\u4f7f\u7528 unicode nchar \u6216 nvarchar \u6570\u636e\u7c7b\u578b\u4ee5\u5c3d\u91cf\u51cf\u5c11\u5b57\u7b26\u8f6c\u6362\u95ee\u9898\u3002\u5982\u679c\u4f7f\u7528 char \u6216 varchar\uff1a

\u5982\u679c\u5e0c\u671b\u5217\u4e2d\u7684\u6570\u636e\u503c\u5927\u5c0f\u63a5\u8fd1\u4e00\u81f4\uff0c\u8bf7\u4f7f\u7528 char\u3002


\u5982\u679c\u5e0c\u671b\u5217\u4e2d\u7684\u6570\u636e\u503c\u5927\u5c0f\u663e\u8457\u4e0d\u540c\uff0c\u8bf7\u4f7f\u7528 varchar\u3002
\u5982\u679c\u6267\u884c create table \u6216 alter table \u65f6 set ansi_padding \u4e3a off\uff0c\u5219\u4e00\u4e2a\u5b9a\u4e49\u4e3a null \u7684 char \u5217\u5c06\u88ab\u4f5c\u4e3a varchar \u5904\u7406\u3002

\u5f53\u6392\u5e8f\u89c4\u5219\u4ee3\u7801\u9875\u4f7f\u7528\u53cc\u5b57\u8282\u5b57\u7b26\u65f6\uff0c\u5b58\u50a8\u5927\u5c0f\u4ecd\u7136\u4e3a n \u4e2a\u5b57\u8282\u3002\u6839\u636e\u5b57\u7b26\u4e32\u7684\u4e0d\u540c\uff0cn \u4e2a\u5b57\u8282\u7684\u5b58\u50a8\u5927\u5c0f\u53ef\u80fd\u5c0f\u4e8e n \u4e2a\u5b57\u7b26\u3002



nchar
\u6839\u636e unicode \u6807\u51c6\u6240\u8fdb\u884c\u7684\u5b9a\u4e49\uff0c\u7528\u7ed9\u5b9a\u6574\u6570\u4ee3\u7801\u8fd4\u56de unicode \u5b57\u7b26\u3002

\u8bed\u6cd5
nchar ( integer_expression )

\u53c2\u6570
integer_expression

\u4ecb\u4e8e 0 \u4e0e 65535 \u4e4b\u95f4\u7684\u6240\u6709\u6b63\u6574\u6570\u3002\u5982\u679c\u6307\u5b9a\u4e86\u8d85\u51fa\u6b64\u8303\u56f4\u7684\u503c\uff0c\u5c06\u8fd4\u56de null\u3002

\u8fd4\u56de\u7c7b\u578b
nchar(1)

char 和 varchar 固定长度 (char) 或可变长度 (varchar) 字符数据类型。 nchar 根据 unicode 标准所进行的定义,用给定整数代码返回 unicode 字符。
char是固定长度的字节,varchar是可变长度的字节,nchar是unicode编码的固定字符长度。 如:12345 在char(6)存储为123456加一个空格,共6个字节。 中国 在char(6)存储为中国加两个空格,共6个字节。 12345 在varchar(6)存储为123456,共5个字节。 中国 在varchar(6)存储为中国,共4个字节。 nchar(6)对汉字和半角字符处理时一样的,即可以存储6个汉字,也可以存储6个字母 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。 -------------注释--------------- 如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 cast 函数指定 n,则默认长度为 30。

nchar 是固定长度 Unicode 数据的数据类型 使用 UNICODE UCS-2 字符集。
中文使用两个字节,对于可以用一个字节就表示的英文字符,采用了高位补0的方式凑足2位


char 类型是一个字节 char(8)只能存8字母
nchar 类型是双字节 nchar(8)能存8个汉字
varchar 类型是可变的、即如果 varchar(8)你只存了一个字母、在内存中只占一个字节
char 类型如果 char(8)你只存了一个字母、在内存中也占8个字节


多了一个N

  • SQL鏁版嵁绫诲瀷nchar,char,varchar涓nvarchar鍖哄埆
    绛旓細VARCHAR瀛樺偍鍙橀暱鏁版嵁锛屼絾瀛樺偍鏁堢巼娌℃湁CHAR楂樸傚鏋滀竴涓瓧娈靛彲鑳界殑鍊兼槸涓嶅浐瀹氶暱搴︾殑锛屾垜浠彧鐭ラ亾瀹冧笉鍙兘瓒呰繃10涓瓧绗︼紝鎶婂畠瀹氫箟涓 VARCHAR(10)鏄渶鍚堢畻鐨勩俈ARCHAR绫诲瀷鐨勫疄闄呴暱搴︽槸瀹鐨鍊肩殑瀹為檯闀垮害+1銆備负浠涔鈥+1鈥濆憿锛熻繖涓涓瓧鑺傜敤浜庝繚瀛樺疄闄呬娇鐢ㄤ簡澶氬ぇ鐨勯暱搴︺nchar绫诲瀷鍜孨varchar绫诲瀷鏄庝箞涓鍥炰簨鍛紵
  • SQL鏁版嵁绫诲瀷nchar,char,varchar涓nvarchar鍖哄埆
    绛旓細VARCHAR瀛樺偍鍙橀暱鏁版嵁锛屼絾瀛樺偍鏁堢巼娌℃湁CHAR楂樸傚鏋滀竴涓瓧娈靛彲鑳界殑鍊兼槸涓嶅浐瀹氶暱搴︾殑锛屾垜浠彧鐭ラ亾瀹冧笉鍙兘瓒呰繃10涓瓧绗︼紝鎶婂畠瀹氫箟涓 VARCHAR(10)鏄渶鍚堢畻鐨勩俈ARCHAR绫诲瀷鐨勫疄闄呴暱搴︽槸瀹鐨鍊肩殑瀹為檯闀垮害+1銆備负浠涔鈥+1鈥濆憿锛熻繖涓涓瓧鑺傜敤浜庝繚瀛樺疄闄呬娇鐢ㄤ簡澶氬ぇ鐨勯暱搴︺nchar绫诲瀷鍜孨varchar绫诲瀷鏄庝箞涓鍥炰簨鍛紵
  • 鏁版嵁搴揷har,varchar,nchar,nvarchar绫诲瀷鍒嗗埆鏈変粈涔堝尯鍒?
    绛旓細char 绫诲瀷鏄竴涓瓧鑺俢har(8)鍙兘瀛8瀛楁瘝锛nchar绫诲瀷鏄弻瀛楄妭nchar(8)鑳藉瓨8涓眽瀛楋紱varchar绫诲瀷鏄彲鍙樼殑銆佸嵆濡傛灉 varchar(8)浣犲彧瀛樹簡涓涓瓧姣嶃佸湪鍐呭瓨涓彧鍗犱竴涓瓧鑺傦紱char绫诲瀷濡傛灉char(8)浣犲彧瀛樹簡涓涓瓧姣嶃佸湪鍐呭瓨涓篃鍗8涓瓧鑺傘傛暟鎹簱 鏁版嵁搴(Database)鏄寜鐓ф暟鎹粨鏋勬潵缁勭粐銆佸瓨鍌ㄥ拰绠$悊鏁版嵁鐨...
  • SQL涓char鍜宯char 鐨勫尯鍒
    绛旓細SQL涓char鍜宯char 鐨勫尯鍒 浣跨敤char 瀛樿嫳鏂囧瓧绗︿竴涓崰涓涓瓧鑺傦紝瀛樹腑鏂囷紝涓涓腑鏂囧崰2涓瓧鑺傦紝nchar瀛樹腑鑻辨枃閮藉崰涓や釜瀛楄妭 瀵逛簬绋嬪簭涓殑string鍨嬪瓧娈碉紝SQLServer涓湁char銆乿archar銆乶char銆乶varchar鍥涚绫诲瀷鏉ュ搴旓紙鏆傛椂涓嶈冭檻text鍜宯text锛夛紝寮寤虹珛鏁版嵁搴撲腑锛屽杩欏洓绉嶇被鍨嬪線寰姣旇緝妯$硦锛岃繖閲屽仛涓涓嬪姣斻
  • 鏁版嵁搴揷har銆乿archar銆nchar銆乶varchar鏈変粈涔堝尯鍒?
    绛旓細char 绫诲瀷鏄竴涓瓧鑺 char锛8锛夊彧鑳藉瓨8瀛楁瘝\x0d\x0anchar 绫诲瀷鏄弻瀛楄妭 nchar锛8锛夎兘瀛8涓眽瀛梊x0d\x0avarchar 绫诲瀷鏄彲鍙樼殑銆佸嵆濡傛灉 varchar锛8锛変綘鍙瓨浜嗕竴涓瓧姣嶃佸湪鍐呭瓨涓彧鍗犱竴涓瓧鑺俓x0d\x0achar 绫诲瀷濡傛灉 char锛8锛変綘鍙瓨浜嗕竴涓瓧姣嶃佸湪鍐呭瓨涓篃鍗8涓瓧鑺 ...
  • sql sever琛ㄤ腑nchar鍜char鏈変粈涔堝尯鍒?
    绛旓細鍒嗙被: 鐢佃剳/缃戠粶 >> 绋嬪簭璁捐 >> 鍏朵粬缂栫▼璇█ 闂鎻忚堪:鍚勭鑻辨枃鐨鏁版嵁绫诲瀷鍒嗗埆鏄浠涔鎰忔 瑙f瀽:nchar 鏄浐瀹氶暱搴 Unicode 鏁版嵁鐨勬暟鎹被鍨 浣跨敤 UNICODE UCS-2 瀛楃闆嗐備腑鏂囦娇鐢ㄤ袱涓瓧鑺傦紝瀵逛簬鍙互鐢ㄤ竴涓瓧鑺傚氨琛ㄧず鐨勮嫳鏂囧瓧绗︼紝閲囩敤浜嗛珮浣嶈ˉ0鐨勬柟寮忓噾瓒2浣 ...
  • SQL Server涓璫har,varchar,text鍜宯char,nvarchar,ntext鐨勫尯鍒
    绛旓細甯屾湜鍙互甯埌浣狅紒SQL涓璫har銆乿archar銆乼ext鍜宯char銆乶varchar銆乶text鐨勫尯鍒 1銆CHAR銆侰HAR瀛樺偍瀹氶暱鏁版嵁寰堟柟渚匡紝CHAR瀛楁涓婄殑绱㈠紩鏁堢巼绾ч珮锛屾瘮濡傚畾涔塩har(10)锛岄偅涔堜笉璁轰綘瀛樺偍鐨勬暟鎹槸鍚﹁揪鍒颁簡10涓瓧鑺傦紝閮借鍗犲幓10涓瓧鑺傜殑绌洪棿銆2銆乂ARCHAR銆傚瓨鍌ㄥ彉闀挎暟鎹紝浣嗗瓨鍌ㄦ晥鐜囨病鏈塁HAR楂樸傚鏋滀竴涓瓧娈靛彲鑳界殑鍊兼槸...
  • nchar涓char鏈変粈涔堝尯鍒
    绛旓細灞曞紑鍏ㄩ儴 nchar鐢16浣嶄簩杩涘埗琛ㄧず瀛楃,char鐢8浣嶄簩杩涘埗琛ㄧず瀛楃銆傝繖涓簲璇ユ槸SQL Server涓殑T_SQL璇█銆 宸茶禐杩 宸茶俯杩< 浣犲杩欎釜鍥炵瓟鐨勮瘎浠锋槸? 璇勮 鏀惰捣 longtj 2012-06-28 路 TA鑾峰緱瓒呰繃203涓禐 鐭ラ亾灏忔湁寤烘爲绛斾富 鍥炵瓟閲:183 閲囩撼鐜:0% 甯姪鐨勪汉:18.4涓 鎴戜篃鍘荤瓟棰樿闂釜浜洪〉 鍏虫敞 ...
  • char鍜宯char鐨浣跨敤鐨勭紪鐮佷笉涓鏍,鑰宻qlserver涓皢瀛楁鐨勬暟鎹被鍨嬩粠char鏀...
    绛旓細char(n)琛ㄧず瀛樺偍鍥哄畾闀垮害涓簄涓瓧鑺傜殑瀛楃锛屼竴涓嫳鏂囨垨鑰呮爣鐐圭鍙峰崰鐢ㄤ竴涓瓧鑺傦紝涓涓腑鏂囧崰鐢ㄤ袱涓瓧鑺傦紝鎵浠har(n)鍙互瀛樻斁n涓嫳鏂囨垨鑰呮爣鐐圭鍙凤紝鎴栬卬/2涓腑鏂 nchar鏁版嵁绫诲瀷瀵规瘡涓嫳鏂(ASCII)瀛楃閮藉崰鐢2涓瓧鑺傦紝瀵逛竴涓眽瀛椾篃鍗犵敤涓や釜瀛楄妭锛屾墍鏈夌殑瀛楃閮藉崰鐢2涓瓧鑺傘傛墍浠ヤ笉浼氫贡鐮佹淮 ...
  • oracle涓nchar姣char鐨鏁堢巼楂樿繕鏄綆浜
    绛旓細鏁堢巼楂樹綆鐪嬩綘鎬庝箞鐢ㄣ備粠鍐呭瓨瑙掑害涓婄湅nchar姣攃har鍚岄暱搴︾殑瀹氫箟澶氬瓨鍌ㄤ竴鍊嶃俷char鏄寜鐓у瓧绗﹀瓨鍌紝鑰宑har鏄寜鐓у瓧鑺傚瓨鍌ㄣ傚鏋滃瓨姹夊瓧浣犳庝箞绠楋紵nchar(4)瀛樺洓涓眽瀛楋紝鑰宑har(4)灏变袱涓紝浣犳庝箞绠楁晥鐜囷紵濡傛灉浣犲氨鎯冲瓨鍥涗釜鑻卞瓧锛岄偅char(4)姣攏char锛4锛夊皯鍗4涓瓧鑺傚唴瀛橈紝杩欎釜鏁堢巼浣犲張鎬庝箞绠楋紵--- 濡備笅鏄...
  • 扩展阅读:char nchar varchar ... 数据库char和varchar ... char和varchar的区别在于 ... charon作品集 ... char和varchar使用场景 ... char和varchar联系 ... 男生用pluto还是charon ... nchar和char类型的区别 ... varchar max ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网