请教一下 在sql server数据库中 设置性别 用什么样的数据类型

在设置性别时候我用的bit 可这个在输入的时候只能输入true和flase
是不是用char数据类型呢 ? 在设置时候加上约束 只能输入‘男’、‘女’和‘null’?
只是在数据库中创建table 请高手指点一下 非常感谢

数据库中性别选择存储数据类型的分析。

常见的数据库保存性别信息的方案有

一、整型

方案1、使用0,1,2,3,4,5 进行存储,值的含义如图

方案2、使用0,1,2进行存储,值的含义如图

二、字符型

方案1、直接使用字符 ”未知 “,”男“ ,”女  â€œ  æ¥å­˜å‚¨

方案2、直接使用字符 ”N“,”M“ ,”F“  æ¥å­˜å‚¨ï¼Œå€¼çš„含义如图:

方案的选择主要依照个人习惯,和手机应用的需要。因为实际应用中,无论选择哪种方案,对数据库性能、即操作复杂度都影响可以忽略。

当然直接使用字符 ”未知 “,”男“ ,”女  â€œ  æ¥å­˜å‚¨ï¼Œåœ¨ä¹¦å†™SQL语句要稍简单,检索不需要对值和实际含义进行转换。而使用0,1,2,3,4,5 进行存储,则可以实现一些特殊的条件查询。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-08
用tinyint吧,比方说男用0表示,女用1表示。当然你还可以用smallint或者int。
至于为什么采用tinyint,而不用字符串。因为int的执行效率(性能)比字符串快很多,因此常用的这种只有几个值的字符串都采用int。tinyint在数据库以一个字节存储的,smallint是2个字节,int是四个字节存储的,当然tinyint是最快的。

的确程序存在转换问题,要明白数据库一般情况下是系统的核心,保持它的高性能那是非常必要的。做一些程序转换是给数据库减轻负担的,因此也是非常必要的。
第2个回答  2018-03-30

用tinyint吧,比方说男用0表示,女用1表示。

    美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。

    SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。

本回答被网友采纳
第3个回答  2011-03-08
楼上说的不错,不过最好用bit类型,在sqlserver中默认值为0和1,(如果为空的话,当然也支持null)这样分别对应男和女以及null不是更好?
第4个回答  2018-07-09
enum('0','1');
enum('男','女');
相似回答