char和varchar的区别以及尾部空格问题 - sqlserver演示
char是一个定长字段,假如申请了char(10)的空间,那么无论实际存储多少内容.该字段都占用10个字符;
varchar是变长的,申请的只是最大长度,占用的空间为实际字符长度+1,最后一个字符存储使用了多长的空间;
在检索效率上来讲,char > varchar;
因此在使用中,如果确定某个字段的值的长度,可以使用char,否则应该尽量使用varchar.例如存储用户MD5加密后的密码,则应该使用char。
在char和varchar尾部加空格,检索时char类型后的被删掉,而varchar类型的保存。
以上是说的MySql;这个char和varchar的问题,各数据库应该是一样的;下面来在SqlServer看一下;
有一个学生表;先增加一个sex字段,类型char(5);
可能不好演示;再改为char(10);
编辑数据,在第一行sname列紧接文字后面手动敲三个空格;第一行和第二行sex列,紧接文字后面手动敲三个空格;
查看一下表的数据;
写一段TSQL来看一下情况;
declare @name1 varchar(32),@name2 varchar(32)declare @sex1 char(10),@sex2 char(10)select @name1=sname from student where snum=1select @name2=sname from student where snum=2select @sex1=sex from student where snum=1select @sex2=sex from student where snum=2print @name1print @name2print @sex1print @sex2if @name1='张一'print 'true'elseprint 'false'if @name1='张一 'print 'true'elseprint 'false'if @sex2='女'print 'true'elseprint 'false'if @sex1='女 'print 'true'elseprint 'false'
运行的情况如下;
if @name1='张一'
print 'true'
else
print 'false'
if @name1='张一 '
print 'true'
else
print 'false'
这两个if都输出'true',说明TSQL自己处理了尾部空格;
if @sex2='女'
print 'true'
else
print 'false'
if @sex1='女 '
print 'true'
else
print 'false'
这两个if语句,第一个输出'true',第二个输出'false';如前所述:尾部加空格,检索时char类型后的被删掉;
打印出的字段内容如下;第一行sname列尾部加了空格,检索出的内容带尾部空格;sex列都是固定长度为10;
char和varchar的区别以及尾部空格问题 - sqlserver演示相关推荐
- MySQL中char与varchar的区别
字符与字节的区别 一个字符由于所使用的字符集的不同,会并存储在一个或多个字节中,所以一个字符占用多少个字节取决于所使用的字符集 注意:char与varchar后面接的数据大小为存储的字符数,而不是字节 ...
- mysql中char与varchar的区别分析(补充一句,int和integer没区别)
转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...
- mysql数据库varchar的区别_MySQL数据库char与varchar的区别分析及使用建议
在数据库中,字符 型的数据是最多的,可以占到整个数据库的80%以上.为此正确处理字符型的数据,对于提高数据库的性能有很大的作用.在字符型数据中,用的最多的就是 Char与Varchar两种类型.前面的 ...
- Mysql字段数据类型:char与varchar的区别
char: 1 声明的字段如果数据类型为char,则该字段占据的长度固定为声明时的值,例如:char(4),存入值 'ab',其长度仍为4.. 2 char的长度声明范围是 0-255 3 当存储数据 ...
- mysql中char与varchar的区别分析
原文网址:http://www.jb51.net/article/23575.htm mysql中char与varchar的区别分析 作者: 字体:[增加 减小] 类型:转载 在mysql教程中cha ...
- 通过char与varchar的区别,学习可变长的字符类型
转自http://www.uphtm.com/database/232.html 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...
- mysql varchar字段自动忽略尾部空格
背景 查询数据时,值带着空格也可以被查到,经查询,发现mysql varchar字段自动忽略尾部空格,特此记录 正文 参考该地址 MySQL comparison operator, spaces - ...
- char 和 varchar 的区别,数据库索引B+树
char 和 varchar 的区别 char(n) :固定长度,效率高:缺点:占用空间:存储固定长度的,使用 char 非常合适. varchar(n) :可变长度,存储的值是每个值占用的字节再加上 ...
- CHAR 和 VARCHAR 的区别?
1.CHAR的长度是不可变的,而VARCHAR的长度是可变的,也就是说,定义一个CHAR[10]和VARCHAR[10],如果存进去的是'ABCD', 那么CHAR所占的长度依然为10,除了字符'AB ...
最新文章
- 转载:为什么使用ibatis而不用spring jdbcTemplate
- 在Python中将整数附加到列表的开头
- dhcp MySQL 超时_mysql导入sql文件过大或连接超时的解决的方法
- python中常见的运行时错误_常见Python运行时错误之一
- mysql修改忘记了root密码忘记了,mysql忘记root密码后,重新设置、修改root密码
- highgui java opencv_java – OpenCV 3.0.0 JAR缺少HighGUI
- 华景机器人怎么控制_【华景QQ机器人怎么用】华景QQ机器人好不好_使用技巧-ZOL软件百科...
- PyTorch出现RuntimeError: Function AddBackward0 returned an invalid gradient at index 1
- 怎么做应力应变曲线_金属薄板塑性应变比ISO 10113:2020 解读
- zabbix监控oracle rac,CentOS6.9下zabbix3.4.9通过orabbix1.2.3来监控oracle11gRAC
- Scrapy爬取美女图片第四集 突破反爬虫(上)
- 使用cd-hit对核酸序列或氨基酸序列聚类
- 使用CANoe进行Panel设计
- 最新最全论文合集——基于背景知识的对话系统
- 交规考试通过,庆祝一下
- java 仓库类_仓库类型和功能分别是什么?
- Salesforce常用技能
- word2010快速激活
- QCC3040/QCC3046 ANC(主动降噪)调测
- 3dmax 单位匹配和基本单位设置
热门文章
- Service中的绑定服务总结
- sqlserver 安装_安装sqlserver
- uni-app 修改富文本信息中的图片样式
- Hystrix 熔断器02 —— hystrix 案例之构建
- Regex解析字符串
- 将excel的数据导入到mysql数据表
- 微信小程序云开发 | 云函数安装依赖
- 【论文阅读和实现】On Spectral Clustering: Analysis and an algorithm【Python实现】
- 【解决方法】Panda read_csv()把第一行的数据变成了列名,怎么处理
- Keras函数式API