数据库中char和nchar的区别,分别什么时候用,什么意思,求解释。 数据库中什么时候用char什么时候用nchar

\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

\u5982\u679c\u4e00\u4e2a\u5b57\u6bb5\u662f\u5b9a\u957f\u7684 \u5e76\u4e14\u6ca1\u4e2d\u6587 \u7528char \u5b66\u53f7
\u5982\u679c\u4e00\u4e2a\u5b57\u6bb5\u662f\u5b9a\u957f\u7684 \u5e76\u4e14\u662f\u4e2d\u6587 \u7528nchar \u6027\u522b

对于程序中的string型字段,SQLServer中有char、varchar、nchar、nvarchar四种类型来对应(暂时不考虑text和ntext),开建立数据库中,对这四种类型往往比较模糊,这里做一下对比。
1.有var前缀的,表示是实际存储空间是变长的,varchar,nvarchar
所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充,比较例外的是,text存储的也是可变长。
2.n表示Unicode字符,即所有字符都占两个字节,nchar,nvarchar
字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。
3.基于以上两点来看看字段容量
char,varchar
最多8000个英文,4000个汉字
nchar,nvarchar
可存储4000个字符,无论英文还是汉字
4.使用(个人偏好)
a.如果数据量非常大,又能100%确定长度且保存只是ansi字符,那么char
b.能确定长度又不一定是ansi字符或者,那么用nchar;
c.对于超大数据,如文章内容,使用nText
d.其他的通用nvarchar

  • 鏁版嵁搴揷har, varchar, nchar, nvarchar鏈変粈涔堝尯鍒?
    绛旓細鏁版嵁搴揷har锛寁archar锛nchar锛宯varchar绫诲瀷鍖哄埆涓猴細闀垮害涓嶅悓銆佸瓧鑺備笉鍚屻佺┖鏍间笉鍚屻備竴銆侀暱搴︿笉鍚 1銆乧har绫诲瀷锛歝har绫诲瀷鐨勯暱搴﹀浐瀹氾紝鍗犵敤鏇村鐨勫瓨鍌ㄧ┖闂淬2銆乿archar绫诲瀷锛歷archar绫诲瀷鐨勯暱搴︿笉鍥哄畾锛屽崰鐢ㄦ洿灏戠殑瀛樺偍绌洪棿銆3銆乶char绫诲瀷锛歯char绫诲瀷鐨勯暱搴﹀浐瀹氾紝鍗犵敤鏇村鐨勫瓨鍌ㄧ┖闂淬4銆乶varchar绫诲瀷锛歯varchar绫诲瀷...
  • nchar鍜宑har鐨鍖哄埆
    绛旓細1銆nchar鍜char鐨瀛楄妭绫诲瀷涓嶅悓锛宑har涓轰竴涓瓧鑺傦紝nchar涓轰袱涓瓧鑺傘2銆乶char涓Char鏁版嵁绫诲瀷绫讳技锛屼笉鍚屼箣澶勫湪浜Nchar鏁版嵁绫诲瀷n鐨勫煎彇鍊艰寖鍥翠负1鍒4000銆侼char鏁版嵁绫诲瀷浣跨敤Unicode鏍囧噯瀛楃闆嗐俇nicode鏍囧噯浣跨敤涓や釜瀛楄妭浣滀负瀛樺偍鍗曞厓銆備竴涓瓨鍌ㄥ崟鍏冪殑瀛樺偍瀹归噺澶уぇ澧炲姞锛屽苟涓旀暣涓瑷瀛楃鍙互鍖呭惈鍦ㄤ竴涓暟鎹垪涓傚彲...
  • 鏁版嵁搴撲腑char鍜宯char鐨鍖哄埆,鍒嗗埆浠涔堟椂鍊欑敤,浠涔堟剰鎬,姹傝В閲娿俖鐧惧害鐭 ...
    绛旓細1銆佸瓧鑺備笉鍚 char绫诲瀷鏄竴涓瓧鑺俢har锛8锛夊彧鑳藉瓨8瀛楁瘝锛nchar绫诲瀷鏄弻瀛楄妭nchar锛8锛夎兘瀛8涓眽瀛楋紱2銆佸崰鎹┖闂翠笉鍚 CHAR銆丆HAR瀛樺偍瀹氶暱鏁版嵁寰堟柟渚匡紝CHAR瀛楁涓婄殑绱㈠紩鏁堢巼绾ч珮锛屾瘮濡傚畾涔塩har(10)锛涢偅涔堜笉璁哄瓨鍌鐨勬暟鎹鏄惁杈惧埌浜10涓瓧鑺傦紝閮借鍗犲幓10涓瓧鑺傜殑绌洪棿锛3銆佷娇鐢ㄦ潯浠朵笉鍚 濡傛灉鏁版嵁閲忛潪甯稿ぇ...
  • char(4) nchar(4)鍙傛暟鐨鍖哄埆.
    绛旓細鑰屸渢his鈥濊繖4涓瓧姣嶏紝char鏄4涓瓧鑺傦紝Nchar鍒欐槸8涓瓧鑺傘傝繖涓笢瑗胯璁℃潵灏辫В鍐冲悓涓鏁版嵁搴撲腑闇瑕佸瓨鏀惧涓瓧绗﹂泦缂栫爜鐨勯棶棰樼殑銆
  • char(4) nchar(4)鍙傛暟鐨鍖哄埆.
    绛旓細鎵鏈夌殑瀛楃閮藉崰鐢2涓瓧鑺傘---姣斿鈥滄垜浠2涓眽瀛楋紝char鏄4涓瓧鑺傦紝Nchar涔熸槸4涓傝屸渢his鈥濊繖4涓瓧姣嶏紝char鏄4涓瓧鑺傦紝Nchar鍒欐槸8涓瓧鑺傘傝繖涓笢瑗胯璁℃潵灏辫В鍐冲悓涓鏁版嵁搴撲腑闇瑕佸瓨鏀惧涓瓧绗﹂泦缂栫爜鐨勯棶棰樼殑銆
  • SQL涓璫har鍜宯char 鐨鍖哄埆
    绛旓細SQL涓璫har鍜宯char 鐨鍖哄埆 浣跨敤char 瀛樿嫳鏂囧瓧绗︿竴涓崰涓涓瓧鑺傦紝瀛樹腑鏂囷紝涓涓腑鏂囧崰2涓瓧鑺傦紝nchar瀛樹腑鑻辨枃閮藉崰涓や釜瀛楄妭 瀵逛簬绋嬪簭涓殑string鍨嬪瓧娈碉紝SQLServer涓湁char銆乿archar銆乶char銆乶varchar鍥涚绫诲瀷鏉ュ搴旓紙鏆傛椂涓嶈冭檻text鍜宯text锛夛紝寮寤虹珛鏁版嵁搴撲腑锛屽杩欏洓绉嶇被鍨嬪線寰姣旇緝妯$硦锛岃繖閲屽仛涓涓嬪姣斻
  • 璧勬枡搴撲腑varchar銆乶varchar銆char鍌ㄥ瓨瀛楀厓銆佹暟瀛椼佹眽瀛楃殑瀹归噺鍖哄埆
    绛旓細璧勬枡搴撲腑varchar銆乶varchar銆乧har鍌ㄥ瓨瀛楀厓銆佹暟瀛椼佹眽瀛楃殑瀹归噺鍖哄埆 1锛塩har : 鍌ㄥ瓨鍥哄畾闀胯祫鏂欙紱 2锛塿archar :鍙彉鍌ㄥ瓨闀垮害锛屽偍瀛樻晥鐜囨病char楂樸傦紙鏈澶氬偍瀛8000涓嫳鏂囷紝4000涓眽瀛楋級 3锛 nchar;nvrchar; 锛堟渶澶氬偍瀛4000涓瓧鍏冿級锛涢傜敤浜巙nicode缂栫爜鐨勶紝鑻ヨ鏄潪鑻辨枃锛屽垯浣跨敤灏監K浜嗐 甯屾湜瀵逛綘鏈...
  • nchar涓char鏈変粈涔堝尯鍒
    绛旓細灞曞紑鍏ㄩ儴 nchar鐢16浣嶄簩杩涘埗琛ㄧず瀛楃,char鐢8浣嶄簩杩涘埗琛ㄧず瀛楃銆傝繖涓簲璇ユ槸SQL Server涓鐨T_SQL璇█銆 宸茶禐杩 宸茶俯杩< 浣犲杩欎釜鍥炵瓟鐨勮瘎浠锋槸? 璇勮 鏀惰捣 longtj 2012-06-28 路 TA鑾峰緱瓒呰繃203涓禐 鐭ラ亾灏忔湁寤烘爲绛斾富 鍥炵瓟閲:183 閲囩撼鐜:0% 甯姪鐨勪汉:18.4涓 鎴戜篃鍘荤瓟棰樿闂釜浜洪〉 鍏虫敞 ...
  • 鏁版嵁搴揷har,varchar,nchar,nvarchar绫诲瀷鍒嗗埆鏈変粈涔堝尯鍒?
    绛旓細nchar绫诲瀷鏄弻瀛楄妭nchar(8)鑳藉瓨8涓眽瀛楋紱varchar绫诲瀷鏄彲鍙樼殑銆佸嵆濡傛灉 varchar(8)浣犲彧瀛樹簡涓涓瓧姣嶃佸湪鍐呭瓨涓彧鍗犱竴涓瓧鑺傦紱char绫诲瀷濡傛灉char(8)浣犲彧瀛樹簡涓涓瓧姣嶃佸湪鍐呭瓨涓篃鍗8涓瓧鑺傘鏁版嵁搴 鏁版嵁搴(Database)鏄寜鐓ф暟鎹粨鏋勬潵缁勭粐銆佸瓨鍌ㄥ拰绠$悊鏁版嵁鐨勪粨搴擄紝瀹冧骇鐢熶簬璺濅粖鍏崄澶氬勾鍓嶏紝闅忕潃淇℃伅鎶鏈...
  • 鏁版嵁搴撲腑鏁版嵁绫诲瀷鏈夊摢浜
    绛旓細CHAR() CHAR鏁版嵁绫诲瀷鏄竴绉嶆湁鍥哄畾闀垮害鍜屾渶澶ч暱搴鐨瀛楃涓层傚瓨鍌ㄥ湪鏁版嵁绫诲瀷涓篊HAR瀛楁涓殑鏁版嵁灏嗕互绌烘牸鐨勫舰寮忚ˉ鍒版渶澶ч暱搴︺傞暱搴﹀畾涔夊湪1鈥斺2000瀛楄妭涔嬮棿銆傚綋浣犲垱寤轰竴涓狢HAR鍨嬪瓧娈碉紝鏁版嵁搴灏嗕繚璇佸湪杩欎釜瀛楁涓殑鎵鏈夋暟鎹槸瀹氫箟闀垮害锛屽鏋滄煇涓暟鎹瘮瀹氫箟闀垮害鐭紝閭d箞灏嗙敤绌烘牸鍦ㄦ暟鎹殑鍙宠竟琛ュ埌瀹氫箟闀垮害銆傚鏋...
  • 扩展阅读:数据库char和varchar ... sql中char和varchar ... 数据类型char和varchar ... char和nchar什么时候使用 ... 数据库中character ... char uchar 数据范围 ... nchar和nvarchar区别 ... nchar和char类型的区别 ... 数据库一般都定义varchar ...

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