再谈SQLSERVER数据类型

来源:互联网 发布:网络恐怖主义论文 编辑:程序博客网 时间:2024/05/31 18:36

不经意见在群里看到这样的问题,varchar(50)最多能存几个汉字,有人回答25,然后那人继续问nvarchar(50)了,有人回答还是25,是这样吗?

char(n)    这里的n代表的是字节数,是占用内存字节的数目,最大长度是8000 。

        char(1)只占一个字节,所以它存不了一个汉字。

        declare @A char(10)   代码执行的时候,系统会分配10个字节的内存给它

varchar(n)    n最大8000字节,这个使用上跟char(n)类似,唯一的区别就是内存分配上,申明的时候,系统可以给它预分配n个字节,真实的占用其实是根据实际内容的大小

nchar(n)       n最大4000,可以存储4000个unicode字符,一个字符占用两个字节,所以它最大也占用了8000个字节,跟sqlserver对最大的限制是一致的

        nchar(1)可以存储一个汉字,但它在内存中占用了两个字节,就算存一个字母或数字,在内存中也是占两个字节(所以有同仁出来说浪费)

        declare @A char(10)   代码执行的时候,系统会分配20个字节的内存给它,可以存10个Unicode字符

nvarchar(n)  n最大4000,可以存储4000个unicode字符,使用和nchar(n)类似,区别就是内存分配是按真实内存来分配的,不会按申明的最大容量在定义的时候分配。

两个函数:

LEN ( string_expression )           返回指定字符串表达式的字符数,其中不包含尾随空格

DATALENGTH ( expression )      返回用于表示任何表达式的字节数

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 网银钱转错了怎么办 民生百货购物卡过期了怎么办 新办卡注册过支付宝账号怎么办 床上用品专卖店没人进店怎么办 红蚂蚁咬了红肿痒怎么办 碎纸机轮不转了怎么办 轮滑鞋刀架螺丝圆了了怎么办 万朋商城2018年怎么办 超市盘点少了烟怎么办 歌华有线电视费用欠费好久怎么办 租房到期房东不退押金怎么办 个税申报错税局查出来怎么办 苹果手表抬腕唤醒失灵怎么办 在京东充电费充错了怎么办 进去了微商传销怎么办 喝完酒四肢酸痛睡不着怎么办 喝多了全身痛怎么办 喝完酒第二天浑身酸痛怎么办 鑫和陌车骗我钱怎么办 社会人加你qq怎么办 有人问你加qq怎么办 住酒店遇到被色情诈骗怎么办 怎么办我陷入感情骗局了 移动手机卡被强制停机怎么办 诚e赊套现被骗了怎么办 钻戒小了怎么办小窍门 爱用商城逾期了怎么办 工程骗局洗脑了怎么办 还网贷客服电话打不通怎么办 中信客服电话打不通怎么办 亚马逊客服电话打不通怎么办 安卓软件闪退怎么办? 吃鸡麦克风炸麦怎么办 美版iphone屏摔了怎么办 天地荣域四十后怎么办 淘宝拍下商品不付款怎么办 淘宝买东西取消订单淘金币怎么办 淘宝淘金币快过期了怎么办 公众号密码忘了怎么办 酷狗直播个入驻粉丝少怎么办 健康证预约显示未接收怎么办