sql学习过程1:sql server数据类型解析
2016-04-13 19:01
423 查看
1.char 与varchar
网上找了很多资料,都说char是定长的,而varchar是变长的
(1).当char(n),括号中的数字确定时,那么所存取数据占用内存就已经确定了,当n为5时,占用5个字节,为10 时占用10个字节,相差的部分用空格补齐,有人说是前面补充空格,有人说是拖尾空格,这个我暂时就不知道了,但是只要知道这些空间都是被占用了的就够了!
(2).varchar(n),括号中的数字如果是5时,数据所占用的空间不一定是5个字节,以实际所存储的数据为准。如在数据列输入‘123’那么就是三个字节,输入‘12345’就是五个字节。
2.nchar、nvarchar、ntext........等带有‘n’的数据类型:n:national,大家就明白了,国际标准嘛,需要注意的国际标准中,一个字符是占用两个字节,(这个跟国内的是不一样的),
需要提醒的是:nchar与nvarchar的原理跟char与varchar是一样的,只是加上了国际标准,那么加上了国际标准还有一个不一样的是在国际标准是不是也要申明一下,所以在存储数据时,会额外占用两个字节的空间,例如:‘123’当这个字符串存入类型为nchar(5)中时,占用的字节就是2*3+2=8字节。
后续在继续补充关于数据类型方面的知识,巩固基础!
网上找了很多资料,都说char是定长的,而varchar是变长的
(1).当char(n),括号中的数字确定时,那么所存取数据占用内存就已经确定了,当n为5时,占用5个字节,为10 时占用10个字节,相差的部分用空格补齐,有人说是前面补充空格,有人说是拖尾空格,这个我暂时就不知道了,但是只要知道这些空间都是被占用了的就够了!
(2).varchar(n),括号中的数字如果是5时,数据所占用的空间不一定是5个字节,以实际所存储的数据为准。如在数据列输入‘123’那么就是三个字节,输入‘12345’就是五个字节。
2.nchar、nvarchar、ntext........等带有‘n’的数据类型:n:national,大家就明白了,国际标准嘛,需要注意的国际标准中,一个字符是占用两个字节,(这个跟国内的是不一样的),
需要提醒的是:nchar与nvarchar的原理跟char与varchar是一样的,只是加上了国际标准,那么加上了国际标准还有一个不一样的是在国际标准是不是也要申明一下,所以在存储数据时,会额外占用两个字节的空间,例如:‘123’当这个字符串存入类型为nchar(5)中时,占用的字节就是2*3+2=8字节。
后续在继续补充关于数据类型方面的知识,巩固基础!
相关文章推荐
- hive元数据从mysql迁移到oracle
- sql------创建主键、外键、联合主键
- MySQL乱码问题转载
- SQLSERVER--定期清理维护作业的历史记录
- MySQL 入门(十二)—— MySQL内部函数
- JDBC写数据到文件中再Copy到postgresql中
- MyBatis动态SQL之 set 和 trim标记的使用示例
- oracle 闪回技术
- MySql 关键字冲突解决办法
- com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link
- Mybatis动态sql语句
- MySQL数据库乱码问题
- mysql连结查询
- sql json 转成表格
- Redis实现关注关系
- windows 手动安装 PostgreSQL 9.0 zip解压缩版
- 使用免安装版本在windows上手动安装PostgreSQL
- Redis实现秒杀系统
- Mysql中错误日志、binlog日志、查询日志、慢查询日志简介
- Redis - pipelining(管道)