机房合作--那些数据类型
一、字符类型:char、nchar、varchar和nvarchar
1.定义:
char: 固定长度,存储ANSI字符,不足的补英文半角空格。
nchar: 固定长度,存储Unicode字符,不足的补英文半角空格
varchar: 可变长度,存储ANSI字符,根据数据长度自动变化。
nvarchar: 可变长度,存储Unicode字符,根据数据长度自动变化。
nvarchar(n) :包含 n个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。
varchar(n):长度为 n 个字节的可变长度且非 Unicode的字符数据。n 必须是一个介于 1 和 8,000之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。
注意:ANSI主要是以单字节来存储数据,一般适合英文。而我们常用的汉字需要用两个字节来存储,所以就要使用unicode的数据类型,不然读取出来的数据可能会乱码。
2.区别:
- 从存储方式上,nvarchar是按字符存储的,而 varchar是按字节存储的;
- 从存储量上考虑, varchar比较节省空间,因为存储大小为字节的实际长度,而 nvarchar是双字节存储;
- 在使用上,如果存储内容都是英文字符而没有汉字等其他语言符号,建议使用varchar;含有汉字的使用nvarchar,因为 nvarchar是使用Unicode编码,即统一的字符编码标准,会减少乱码的出现几率;
- 如果你做的项目可能涉及不同语言之间的转换,建议尽量使用nvarchar。
3.nvarchar优点:判断字符串的时候可以不需要考虑中英文两种字符的差别,可以避免程序中乱码的问题。缺点:存储英文字符会增大一倍的存储空间.但是在存储代价已经很低廉的情况下,优先考虑兼容性会给你带来更多好处的,效率没有varchar高。
4.字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。
5.tips:
如果可以确定存储的数据长度,而且不包中文的,可以选择char类型;
如果可以确定存储的数据长度,但可能包括中文,可以选择nchar类型;
如果不确定存储的数据长度,存储只有英文、数字的最好用varchar;
如果不确定存储的数据长度,也有可能有中文,可以选择nvarchar类型。
二、整型:int与bigint
int 普通大小的整数,带符号的范围是-2147483648到2147483647。
bigint 带符号的范围是-9223372036854775808到bai9223372036854775807。
由此可以看出,假如我要在数据库里存一个11位的手机号,用int是不可以的,存数据时会溢出。另外存手机号的话,最好的还是用char,为什么呢?因为手机号的本质是字符串而不是数字,它只是恰巧长得像数字而已;而且字符串可以通过LINK去匹配,查询很方便,同时字符串可以去匹配尾号或者首号。
三、金钱类型:decimal(6,0)
它的含义是:可储存的最大十进位数总数为6,小数位数为0,也就是说最后的金钱数会精确到整数,例如:元。
四、日期类型:datatime与smalldatatime
这两个都是表示日期类型的数据,但是又有些小小的不同:
数据类型 | 范围 | 精确度 |
---|---|---|
datetime |
1753 年 1 月 1 日到 9999 年 12 月 31 日 |
3.33 毫秒 |
smalldatetime |
1900 年 1 月 1 日到 2079 年 6 月 6 日 |
1 分钟 |
机房合作--那些数据类型相关推荐
- 机房合作(一):我怎样做组长(敢于承担责任)
导读:小组合作开始了,不怕死的我,揽下了组长的活儿.然后开始了我的漫漫长征路.不过,不怕猪一样的组长,咱有神一样的组员.机房合作到现在,真的感激组员的配合以及对我这个猪组长的指点.接下来,说说我这个阶 ...
- 【机房合作】——数风流人物,还看今朝
机房收费系统合作版已经过去很长时间了,一直想着写篇合作,却总是觉得词穷,因为在合作中,相对于自己开发真的收获好多,总感觉言语不能表达,只能意会.不过,不管怎样,还是得给自己留下一点记录. 先介绍下我们 ...
- 让我们并肩作战—机房合作
一.心里路程 机房合作这个项目是我们成长的必经之路,我们组在这次合作的路上走得还算顺利,在这次验收中,我得到了很大的收获,刚开始的时候,不知道怎么开始,还有点手足无措,后来慢慢摸索的时候才走上正轨, ...
- 【机房合作】机房收费系统合作版总结
经历了为期一个半月的机房合作开发过程,自己的沟通表达,写作开发以及业务能力方面都有了很大程度的提升,在此来总结一下这个开发的过程. 一.前期准备的重要性 在我以前的认知里,写代码,做项目就是直接开干, ...
- 【机房合作】UML图之包图再学习
在合作中对包图验收没有通过,对包图的理解不深刻,整幅图中,在包与包之间,只用了两种关系:实现和import.因此需要重新修改,可是修改起来比较费劲儿,于是查资料,跟霍亚静师傅和连江伟师傅交流,对包图有 ...
- 机房合作--gitee的使用
前言 此码云非彼马云,码云是开源中国推出的基于 Git 的.免费的代码托管服务,功能非常强大. 1.gitee注册账号 这是gitee网址,可以直接到达.注册时是用邮箱注册,昵称最好是英文的,密码就不 ...
- 机房合作--驼峰命名法
其实之前一直都是只听说过驼峰命名法,今天就详细的了解下驼峰命名法: 驼峰式命名法(Camel-Case)是电脑程序编写时的一套命名规则. 小驼峰法 变量一般用小驼峰法标识.驼峰法的意思是:除第一个单词 ...
- 【机房合作】策略+职责链在下机中的应用
一.刚开始使用职责链模式来实现下机时计算消费金额. 1.父类:CountCashManagerBLL abstract class CountCashManagerBLL{protected stri ...
- 【机房合作】Datagridview汉字表头的设置
Datagridview绑定数据源的方式,师哥的博客写的很清晰.详情请戳:[http://blog.csdn.net/u010164936/article/details/38583563] 可是我在 ...
最新文章
- mongodb php linux,mongodb 及PHP的MongoDB 扩展安装
- 程序人生:外链建设流程与细节都有哪些
- C#之windows桌面软件第九课:汉字串口助手
- Shoutem旨在成为React Native移动应用领域的WordPress
- setitimer 创建两个定时器_UE4 Timer(定时器)相关源码分析
- 【抽象代数】因子分解与域的扩展
- 自用的获取时间 传值是获取剩余时间 不传是获取当前时间
- 2 追踪光线=》2.2 前向光线追踪和逆向光线追踪
- 记一次生产环境脚本入侵检测与报警案例(检测特定目录被改动,自动报警)
- Java学习之路 之 注意篇
- 幸福之路---罗素,2017-12-6 周三
- 订阅发布延时_Redis实时队列和延时队列的php实现
- 黄金矿工~java小游戏【内含源码】
- 使用阿里云ECS搭建Nextcloud私有云服务器
- 巧妙去除Word文档修订和批注帮助
- SSL/TLS(4): TLS连接握手过程详细分析
- 计算机专业重大和吉大,中国“计算机专业”高校排名,中科大不敌吉大,电子科技无缘前10...
- value在php中怎么使用方法,valueOf方法怎么使用
- 数据治理建设管理方案(参考)(二)
- windows安装Apache,注册服务出现“(OS 5)拒绝访问。 : AH00369: Failed to open the WinNT service manager...错误
热门文章
- Stanford UFLDL教程 卷积特征提取
- 开发中经常使用到的20个正则表达式
- python with关键字学习
- 如何为你的回归问题选择最合适的机器学习算法?
- WEBSERVICE之JDK开发webservice
- JNI编程基础(二)——Android Studio NDK开发
- Attention To, Convert To Capped Collection
- 问题 “cell 出栈 selectBox 已选的图标,被释放掉,再次进入屏幕时,没有了已选图标 ” 解决方案...
- 准爸爸日记——20120311
- linux文件目录分析之/etc目录