char和varchar区别 关于char与varchar,varchar2的区别

char\u548cvarchar\u7684\u533a\u522b

\u533a\u522b\uff1a
1\uff0eCHAR\u7684\u957f\u5ea6\u662f\u56fa\u5b9a\u7684\uff0c\u800cVARCHAR2\u7684\u957f\u5ea6\u662f\u53ef\u4ee5\u53d8\u5316\u7684\uff0c \u6bd4\u5982\uff0c\u5b58\u50a8\u5b57\u7b26\u4e32\u201cabc"\uff0c\u5bf9\u4e8eCHAR (10)\uff0c\u8868\u793a\u4f60\u5b58\u50a8\u7684\u5b57\u7b26\u5c06\u536010\u4e2a\u5b57\u8282(\u5305\u62ec7\u4e2a\u7a7a\u5b57\u7b26)\uff0c\u800c\u540c\u6837\u7684VARCHAR2 (10)\u5219\u53ea\u5360\u75283\u4e2a\u5b57\u8282\u7684\u957f\u5ea6\uff0c10\u53ea\u662f\u6700\u5927\u503c\uff0c\u5f53\u4f60\u5b58\u50a8\u7684\u5b57\u7b26\u5c0f\u4e8e10\u65f6\uff0c\u6309\u5b9e\u9645\u957f\u5ea6\u5b58\u50a8\u3002
2\uff0eCHAR\u7684\u6548\u7387\u6bd4VARCHAR2\u7684\u6548\u7387\u7a0d\u9ad8\u3002
3\uff0e\u76ee\u524dVARCHAR\u662fVARCHAR2\u7684\u540c\u4e49\u8bcd\u3002\u5de5\u4e1a\u6807\u51c6\u7684VARCHAR\u7c7b\u578b\u53ef\u4ee5\u5b58\u50a8\u7a7a\u5b57\u7b26\u4e32\uff0c\u4f46\u662foracle\u4e0d\u8fd9\u6837\u505a\uff0c\u5c3d\u7ba1\u5b83\u4fdd\u7559\u4ee5\u540e\u8fd9\u6837\u505a\u7684\u6743\u5229\u3002Oracle\u81ea\u5df1\u5f00\u53d1\u4e86\u4e00\u4e2a\u6570\u636e\u7c7b\u578bVARCHAR2\uff0c\u8fd9\u4e2a\u7c7b\u578b\u4e0d\u662f\u4e00\u4e2a\u6807\u51c6\u7684VARCHAR\uff0c\u5b83\u5c06\u5728\u6570\u636e\u5e93\u4e2dvarchar\u5217\u53ef\u4ee5\u5b58\u50a8\u7a7a\u5b57\u7b26\u4e32\u7684\u7279\u6027\u6539\u4e3a\u5b58\u50a8NULL\u503c\u3002\u5982\u679c\u4f60\u60f3\u6709\u5411\u540e\u517c\u5bb9\u7684\u80fd\u529b\uff0cOracle\u5efa\u8bae\u4f7f\u7528VARCHAR2\u800c\u4e0d\u662fVARCHAR\u3002

1\u3001\u5904\u7406\u901f\u5ea6
char \u548c\u76f8\u540c\u957f\u5ea6\u7684varchar\u5904\u7406\u901f\u5ea6\u5dee\u4e0d\u591a\u3002varchar\u7684\u957f\u5ea6\u4e0d\u4f1a\u5f71\u54cd\u5904\u7406\u901f\u5ea6\uff1b
2\u3001string
O/R Mapping\u4e2d\u5bf9\u5e94\u5b9e\u4f53\u7684\u5c5e\u6027\u7c7b\u578b\u4e00\u822c\u662f\u4ee5string\u5c45\u591a\uff0c\u7528char[]\u7684\u975e\u5e38\u5c11\uff0c\u6240\u4ee5\u5982\u679c\u6309mapping\u7684\u5408\u7406\u6027\u6765\u8bf4\uff0c\u53ef\u53d8\u957f\u5ea6\u7684\u7c7b\u578b\u66f4\u52a0\u543b\u5408\uff1bvarchar\u7684\u5b58\u653e\u548cstring\u662f\u4e00\u6837\u539f\u7406\u7684\uff0c\u5373length {block}\u8fd9\u79cd\u65b9\u5f0f\uff0c\u6240\u4ee5varchar\u7684\u957f\u5ea6\u548c\u5b83\u5b9e\u9645\u5360\u7528\u7a7a\u95f4\u662f\u65e0\u5173\u7684\uff1b
3\u3001\u67e5\u8be2\u6210\u672c
char\u548cvarchar\u7684\u6bd4\u8f83\u6210\u672c\u662f\u4e00\u6837\u7684\uff0c\u73b0\u5728\u5173\u952e\u5c31\u770b\u5b83\u4eec\u7684\u7d22\u5f15\u67e5\u627e\u7684\u6210\u672c\u4e86\uff0c\u56e0\u4e3a\u67e5\u627e\u7b56\u7565\u90fd\u4e00\u6837\uff0c\u56e0\u6b64\u5e94\u8be5\u6bd4\u8f83\u8c01\u5360\u7528\u7a7a\u95f4\u5c0f\u3002
\u4f8b\uff1a
\u5728\u5b58\u653e\u76f8\u540c\u6570\u91cf\u7684\u5b57\u7b26\u60c5\u51b5\u4e0b\uff0c\u5982\u679c\u6570\u91cf\u5c0f\uff0c\u90a3\u4e48char\u5360\u7528\u957f\u5ea6\u662f\u5c0f\u4e8evarchar\u7684\uff0c\u4f46\u5982\u679c\u6570\u91cf\u7a0d\u5927\uff0c\u5219varchar\u5b8c\u5168\u53ef\u80fd\u5c0f\u4e8echar\uff0c\u800c\u4e14\u8981\u770b\u5b9e\u9645\u586b\u5145\u6570\u503c\u7684\u5145\u5b9e\u5ea6\uff0c\u6bd4\u5982\u8bf4varchar(3)\u548cchar(3)\uff0c\u90a3\u4e48\u7406\u8bba\u4e0a\u5e94\u8be5\u662fchar\u5feb\u4e86\uff0c\u4f46\u5982\u679c\u662fchar(10)\u548cvarchar(10)\uff0c\u5145\u5b9e\u5ea6\u53ea\u670930%\u7684\u60c5\u51b5\u4e0b\uff0c\u7406\u8bba\u4e0a\u5c31\u5e94\u8be5\u662fvarchar\u5feb\u4e86\u3002
\u56e0\u4e3avarchar\u9700\u8981\u989d\u5916\u7a7a\u95f4\u5b58\u653e\u5757\u957f\u5ea6\uff0c\u6240\u4ee5\u53ea\u8981length(1-fillfactor)\u5927\u4e8e\u8fd9\u4e2a\u5b58\u653e\u7a7a\u95f4\uff08\u597d\u50cf\u662f2\u5b57\u8282)\uff0c\u90a3\u4e48\u5b83\u5c31\u4f1a\u6bd4\u76f8\u540c\u957f\u5ea6\u7684char\u5feb\u4e86\u3002

\u6269\u5c55\u8d44\u6599\uff1a
1\u3001\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
2\u3001\u80fd\u786e\u5b9a\u957f\u5ea6\u53c8\u4e0d\u4e00\u5b9a\u662fansi\u5b57\u7b26\u6216\u8005\uff0c\u90a3\u4e48\u7528nchar\uff1b
3\u3001\u4e0d\u786e\u5b9a\u957f\u5ea6\uff0c\u8981\u67e5\u8be2\u4e14\u5e0c\u671b\u5229\u7528\u7d22\u5f15\u7684\u8bdd\uff0c\u7528nvarchar\u7c7b\u578b\u5427\uff0c\u5c06\u5b83\u4eec\u8bbe\u5230400\uff1b
4\u3001\u4e0d\u67e5\u8be2\u7684\u8bdd\u6ca1\u4ec0\u4e48\u597d\u8bf4\u7684\uff0c\u7528nvarchar(4000)\uff1b
5\u3001\u6027\u683c\u8c6a\u723d\u7684\u53ef\u4ee5\u53ea\u75283\u548c4\uff0c\u5076\u5c14\u7528\u75281\uff0c\u6bd5\u7adf\u8fd9\u662f\u4e00\u79cd\u989d\u5916\u8bf4\u660e\uff0c\u7b49\u4e8e\u544a\u8bc9\u522b\u4eba\u8bf4\uff0c\u6211\u4e00\u5b9a\u9700\u8981\u957f\u5ea6\u4e3aX\u4f4d\u7684\u6570\u636e\u3002

1、字符类型长度不同

char类型的长度是固定的,varchar的长度是可变的。

比如:使用char(10),表示存储的字符将占10个字节(包括7个空字符);使用varchar2(10),则表示只占3个字节,10是最大值,当存储的字符小于10时,按照实际的长度存储。

2、效率不同

char类型的效率比varchar的效率稍高。

3、空间占用不同

varchar2比char节省空间,但是在效率上比char稍差些。既要获得效率即必须牺牲一点空间,这就是设计上的"以空间换时间"。

扩展资料:

char类型占1字节,就是8位,所能存储的正整数是 0111 1111,即127。如果将 int 型的整数i= 128
赋予ch,会产生溢出。

因128是 int 型,占 4 字节,二进制代码为 0000 0000 0000 0000 0000 0000 1000
0000.。若将它赋给一个只有8位的char 类型变量,只能将低8位的1000 0000
放进去,其他的都会被删掉。

整数在计算机中都是以补码的形式存储的,此时1000 0000 在计算机的眼里,是一个补码,最左边是 1
表示负数,补码1000 0000 所对应的十进制是 -128,所以最后输出的就是 -128。因此溢出会使得最大正整数变成最小负整数。

参考资料来源:百度百科-char

                       百度百科-varchar



  • char鍜寁archar鍖哄埆
    绛旓細char鍜寁archar鍖哄埆 1銆佹渶澶ч暱搴︼細char鏈澶ч暱搴︽槸255瀛楃锛寁archar鏈澶ч暱搴︽槸65535涓瓧鑺銆2銆瀹氶暱锛歝har鏄畾闀跨殑锛屼笉瓒崇殑閮ㄥ垎鐢ㄩ殣钘忕┖鏍煎~鍏咃紝varchar鏄笉瀹氶暱鐨勩3銆佺┖闂翠娇鐢細char浼氭氮璐圭┖闂达紝varchar浼氭洿鍔犺妭鐪佺┖闂淬4銆佹煡鎵炬晥鐜囷細char鏌ユ壘鏁堢巼浼氬緢楂橈紝varchar鏌ユ壘鏁堢巼浼氭洿浣銆5銆佸熬閮ㄧ┖鏍硷細char鎻掑叆鏃...
  • char鍜寁archar鐨鍖哄埆
    绛旓細涓銆佺敤閫斾笉鍚 1銆char锛歝har鐢ㄤ簬C鎴朇++涓畾涔夊瓧绗﹀瀷鍙橀噺銆2銆乿archar锛歏ARCHAR(M)鏄竴绉嶆瘮CHAR鏇村姞鐏垫椿鐨勬暟鎹被鍨嬶紝鍚屾牱鐢ㄤ簬琛ㄧず瀛楃鏁版嵁銆備簩銆鐗圭偣涓嶅悓 1銆乧har锛歝har鍦ㄦ爣鍑嗕腑涓嶆寚瀹氫负signed鎴杣nsigned锛岀紪璇戝櫒鍙互缂栬瘧涓哄甫绗﹀彿鐨勶紝涔熷彲浠ョ紪璇戜负涓嶅甫绗﹀彿鐨勩2銆varchar锛歏ARCHAR鍙互淇濆瓨鍙彉闀垮害鐨勫瓧绗涓层
  • varchar鍜宑har鏈変粈涔鍖哄埆
    绛旓細Varchar鍜孋har鐨勪富瑕佸尯鍒湪浜庡畠浠殑瀛樺偍鏂瑰紡銆侀暱搴︿互鍙婃ц兘鐗规銆傜畝鑰岃█涔嬶紝Char鏄瀹氶暱瀛楃绫诲瀷锛岃孷archar鏄彉闀垮瓧绗︾被鍨嬨傞鍏堬紝Char鏄竴绉嶅畾闀垮瓧绗︽暟鎹被鍨嬶紝杩欐剰鍛崇潃鏃犺瀹為檯瀛樺偍鐨勫瓧绗︿覆闀垮害濡備綍锛屽畠閮戒細鍗犵敤鍥哄畾鐨勫瓨鍌ㄧ┖闂淬備緥濡傦紝濡傛灉瀹氫箟涓涓狢har(10)瀛楁锛岄偅涔堟棤璁哄瓨鍌ㄧ殑瀛楃涓叉槸"hello"锛堥暱搴︿负5锛...
  • char涓巚archar鐨鍖哄埆鏄粈涔
    绛旓細鍖哄埆涓锛氶鍏堟槑纭殑鏄紝char鐨勯暱搴︽槸涓嶅彲鍙樼殑锛岃寁archar鐨勯暱搴︽槸鍙彉鐨锛屽尯鍒簩锛氬畾涔変竴涓猚har[10]鍜寁archar[10],濡傛灉瀛樿繘鍘荤殑dao鏄榓bcd鈥,閭d箞char鎵鍗犵殑闀垮害渚濈劧涓10锛岄櫎浜嗗瓧绗︹榓bcd鈥欏锛屽悗闈㈣窡鍏釜绌烘牸锛岃寁archar灏辩珛椹妸闀垮害鍙樹负4浜嗭紝鍙栨暟鎹殑鏃跺欙紝char绫诲瀷鐨勮鐢╰rim()鍘绘帀澶氫綑鐨勭┖鏍硷紝...
  • char鍜寁archar鍖哄埆
    绛旓細1銆佸瓧绗︾被鍨嬮暱搴︿笉鍚 char绫诲瀷鐨勯暱搴︽槸鍥哄畾鐨锛寁archar鐨勯暱搴︽槸鍙彉鐨勩傛瘮濡傦細浣跨敤char(10)锛岃〃绀哄瓨鍌ㄧ殑瀛楃灏嗗崰10涓瓧鑺傦紙鍖呮嫭7涓┖瀛楃锛夛紱浣跨敤varchar2(10),鍒欒〃绀哄彧鍗3涓瓧鑺傦紝10鏄渶澶у硷紝褰撳瓨鍌ㄧ殑瀛楃灏忎簬10鏃讹紝鎸夌収瀹為檯鐨勯暱搴﹀瓨鍌ㄣ2銆鏁堢巼涓嶅悓 char绫诲瀷鐨勬晥鐜囨瘮varchar鐨勬晥鐜囩◢楂樸3銆佺┖闂...
  • char, varchar, nchar, nvarchar绫诲瀷鍖哄埆鏄粈涔
    绛旓細鏁版嵁搴揷har锛varchar锛宯char锛宯varchar绫诲瀷鍖哄埆涓猴細闀垮害涓嶅悓銆佸瓧鑺備笉鍚屻佺┖鏍间笉鍚屻備竴銆侀暱搴︿笉鍚 1銆乧har绫诲瀷锛歝har绫诲瀷鐨勯暱搴﹀浐瀹氾紝鍗犵敤鏇村鐨勫瓨鍌ㄧ┖闂淬2銆乿archar绫诲瀷锛歷archar绫诲瀷鐨勯暱搴︿笉鍥哄畾锛屽崰鐢ㄦ洿灏戠殑瀛樺偍绌洪棿銆3銆乶char绫诲瀷锛歯char绫诲瀷鐨勯暱搴﹀浐瀹氾紝鍗犵敤鏇村鐨勫瓨鍌ㄧ┖闂淬4銆乶varchar绫诲瀷锛歯varchar绫诲瀷...
  • char鍜寁archar鏁版嵁绫诲瀷鍖哄埆
    绛旓細鍦ㄦ暟鎹簱涓紝char鍜寁archar鏄袱绉嶅父瑙佺殑瀛楃鏁版嵁绫诲瀷锛屽畠浠殑涓昏鍖哄埆鍦ㄤ簬瀛樺偍鏂瑰紡鍜屽瓨鍌ㄧ┖闂淬1. 瀛樺偍鏂瑰紡锛歝har鏄竴绉鍥哄畾闀垮害鐨勬暟鎹被鍨嬶紝鏃犺瀹為檯瀛樺偍鐨勫瓧绗︽暟鏄灏戯紝瀹冮兘浼氬崰鐢ㄧ浉鍚岀殑瀛樺偍绌洪棿銆備緥濡傦紝濡傛灉瀹氫箟浜嗕竴涓猚har(10)鐨勬暟鎹被鍨嬶紝閭d箞鏃犺瀹為檯瀛樺偍鐨勫瓧绗︽暟鏄灏戯紝瀹冮兘浼氬崰鐢10涓瓧鑺傜殑瀛樺偍...
  • varchar鍜宑har鐨鍖哄埆
    绛旓細char鍜寁archar鐨勫尯鍒涓嬶細1銆鏈澶ч暱搴锛歝har鏈澶ч暱搴︽槸255瀛楃锛寁archar鏈澶ч暱搴︽槸65535涓瓧鑺傘2銆佸畾闀匡細char鏄畾闀跨殑锛屼笉瓒崇殑閮ㄥ垎鐢ㄩ殣钘忕┖鏍煎~鍏咃紝varchar鏄笉瀹氶暱鐨勩3銆佺┖闂翠娇鐢細char浼氭氮璐圭┖闂达紝varchar浼氭洿鍔犺妭鐪佺┖闂銆4銆佹煡鎵炬晥鐜囷細char鏌ユ壘鏁堢巼浼氬緢楂橈紝varchar鏌ユ壘鏁堢巼浼氭洿浣庛5銆佸熬閮ㄧ┖鏍硷細char...
  • char涓巚archar
    绛旓細涓銆乧har绫诲瀷閫傜敤鍦烘櫙锛氬瀛樺彇閫熷害瑕佹眰姣旇緝楂橈紝鎴栬呭崰鎹┖闂翠竴鑷寸殑鍦烘櫙锛涗簩銆乧har鍜寁archar鐨勫尯鍒細1銆佸崰鎹┖闂翠笉鍚岋細char鐨勯暱搴︽槸涓嶅彲鍙樼殑锛岃寁archar鐨勯暱搴︽槸鍙彉鐨勶紱2銆佸瓨鍙栭熷害涓嶅悓锛歝har鐨勫瓨鍙栨暟搴︽瘮varchar瑕佸揩寰楀锛屽洜涓哄叾闀垮害鍥哄畾锛屾柟渚跨▼搴忕殑瀛樺偍涓庢煡鎵撅紱3銆佸瓨鍌ㄦ柟寮忎笉鍚岋細char鐨勫瓨鍌ㄦ柟寮忔槸瀵硅嫳鏂...
  • varchar鍜宑har 鐨鍖哄埆
    绛旓細char 鍜 varchar 鍥哄畾闀垮害 (char) 鎴栧彲鍙橀暱搴 (varchar) 瀛楃鏁版嵁绫诲瀷銆俢har[(n)]闀垮害涓 n 涓瓧鑺傜殑鍥哄畾闀垮害涓旈潪 Unicode 鐨勫瓧绗︽暟鎹俷 蹇呴』鏄竴涓粙浜 1 鍜 8,000 涔嬮棿鐨勬暟鍊笺傚瓨鍌ㄥぇ灏忎负 n 涓瓧鑺傘俢har 鍦 SQL-92 涓殑鍚屼箟...
  • 扩展阅读:varchar(50)中50能存多少汉字 ... nvarchar与varchar区别 ... 数据库varchar ... 简述char和varchar的区别 ... mysql varchar ... incorrect string value ... c语言char怎么用 ... char与varchar2类型的区别 ... varchar2(100)能存多少汉字 ...

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