当数据库表中包含较多BIT类型的列时,该如何设计

比如说某一个表,包含32个bit类型的列,值为0或1。
在设计该表时,是用32个bit类型好,还是一个varchar(32)好?
该表需要比较频繁的查询,查询条件为32个位中的某些为1或者为0

sql
0

3个回答

拆分开比较好。合成到一块不易于使用。查找时写正则什么的也比较麻烦。

1

如果一个数据库中包含有多个bit的数据类型 你可可以用枚举类型代替啊,等输出结果的时候再用数据转换进行转换就行了。

0

在CSDN的下载频道里可以下到一本叫《SQL沉思录》的书,英文名:'Thinking in Sets Auxiliary Temporal.and Virtual Tables in SQL'。这本书中有一节专门讲bit类型数据的设计问题,希望可以帮到你

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
数据库表中的列包含空格
今天遇到一个问题,发现数据库中的某个表的列包含了空格,可能是额太菜了,然后操作数据库的时候一直报错。然后就上网找资料,才了解若某个表中的列名含有空格,如CUST_ CARD_NO。 那么使用增删改查语句时,必须用双引号将列名引起来。如: insert into SBS_TEST("CUST_ CARD_NO") values('23'); select "CUST_ CARD_NO" from SB
在pandas.DataFrame.to_sql时指定数据库表的列类型
问题 在数据分析并存储到数据库时,Python的Pandas包提供了to_sql 方法使存储的过程更为便捷,但如果在使用to_sql方法前不在数据库建好相对应的表,to_sql则会默认为你创建一个新表,这时新表的列类型可能并不是你期望的。例如我们通过下段代码往数据库中插入一部分数据: import pandas as pd from datetime import datetime df ...
bit类型bit类型bit类型bit类型
mySqlCom.Parameters.Add(new SqlParameter("@gender", SqlDbType.NVarChar, 50)); rnrngender是bit类型的,这句话应该怎么 改??
MySQL列数据类型-bit类型
本系列视频从MySQL数据库基础到应用为大家全面讲述了MySQL数据库的安装、管理工具、字符集、数据库操作、运算符、函数、视图、触发器等相关日常操作使用!
DataGrid中判断bit类型列的问题
ACESS数据库中某列为bit类型,在databind()之后,在IE中显示是true|falsern,我现在不想显示两个结果,我想在显示的时候替换true和false,rn并显示为“ok”| “NO”rn应该怎么办啊?rnrn
设计rpt时,列比较多,设计界面怎么样加宽
设计rpt时,列比较多,设计界面怎么样加宽,总是过不了标尺20
怎样能取得数据库表中列的类型?
为了取得列的数据类型,作下面的一段程序:rnrnConnection con=···;rnStatement ps = con.createStatement();rnResultSet rs = ps.executeQuery("select * from testTable order by ID");rnResultSetMetaData md=rs.getMetaData();rnint i=1;rnwhile(i<=md.getColumnCount())rn String columnName=md.getColumnName(i);rn String columnType=md.getColumnTypeName(i);rn System.out.println(columnName+":"+columnType);rn i++;rnrn rn有那位知道,不用从表中选择记录也可以得到ResultSet吗?rn或者有其他方法可以直接得到表的列“数据类型”。rn谢谢!!!
当转入Json对象时的参数包含Date类型时该如何解决?
解决方案:先要自定义一个Date格式package cd.localhost.util;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Locale;import net.sf.json.JsonConfig;import net.sf.json.processors.JsonValueProcess...
Mysql中的bit类型
利用它可定义一个位变量,但不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是0就是1,类似Boolean类型中的True和False。 值域 char为8位一个字节的数据类型,取值范围为 -128到+127。而bit只有1位,只能表示0和1两种值。通常bit定义的变量作为一个标志位用。 类型定义 例如一个数据为25,那么它就可以定义为char型、int型等。因为他们都在自己的值域内。同样...
当点击repeater控件时,如何取点击的该列的值
用vb.net
包含多个列的主键该如何定义?
假设表"tab01"中有字段(custid,custphone,orderquantity,custaddress)rn我要创建一个包含多个列的主键,该如何定义。rn如果要修改的话可以怎样来操作。rn
bit类型???
declare @int bigintrnset @int=100000rnwhile(@int<=999999)rnbeginrninsert dbo.Dm_memberinfo (memberid ) values(@int)rnset @int=@int+1rnendrn向Dm_memberinfo 插入数据时 memberid 不是从100000开始取值.rnrn为什么不是从100000开始取值??
GridView中的bit类型如何进行判断
问题描述:rn1 工程是C#WebForm,数据库是SqlServer 2005rn2 数据库表单中有个字段名叫status,类型为bit(boolean)rn3 CString sql="select * from......"rn4 GridView1.DataSource = ds;rn GridView1.DataBind();rn5 假设status是第五列rn for (int i = 0; i < GridView1.Rows.Count;i++ )rn rn rn GridView1.Rows[i].Cells[5].Text = "已借出";rn rn rn rn这样将所有的第五列数据都变成了“已借出”rn6 现在我想根据bit的值来将结果变成对应的“已借出”或“已归还”rn即 如下这个模样rn for (int i = 0; i < GridView1.Rows.Count;i++ )rn rn if (GridView1.Rows[i].Cells[5].Text == "True ")//(1)关键是这里rn rn GridView1.Rows[i].Cells[5].Text = "已借出";rn rn elsern rn GridView1.Rows[i].Cells[5].Text = "已归还";rn rn rn rn但是 (1)语句并没有起到判断的作用,请问(1)这个地方应该如何写
在 VB 中如何声明 bit field 类型?
用 VC++ 写的 DLL。其中一个函数使用了如下结构:rntypedef struct ACCESSrnrnpublic:rn unsigned PGO: 1;rn unsigned MDF: 1;rn unsigned PW_set: 3;rn unsigned ATE: 1;rn unsigned RPE: 1;rn unsigned WPE: 1;rnprivilege[0xff];rnrn在 VB 中如何声明这样的类型?
在Package中处理 bit列
SQL Server没有boolean类型,使用bit 类型来代替,bit类型有两个值:0 和 1,而SSIS package中有boolean类型,SSIS自动将bit 类型转换成boolean类型,将 1 转换成 True,0 转换成False。在SSIS Package中,如果Table column 的 data type 为 bit,那么Package在输出时自动进行转化,将 1 转换成
ADO 中如何取BIT类型的值
int sexid=m_pRecordSet->GetCollect("SexID").bVal;rnrn附注:rnrn字段SexID在数据库表中的类型为bitrnrn实际的值为1,rnrn但是我这样取的值,不是1rnrn为255rnrn
Dropdownlist中的值如何转换成bit类型
搜索页面:search.aspxrnrn男rn女rnrnrngender在表中定义为bit类型,表中字段值为0、1rnrnDropdownlist提交到result.aspx中如何转换成bit类型?
如何选择数据库表类型
各位达人,我MySQL数据库,涉及到有几十张表,表之间有关联,而且有的表的操作是频繁的(包括select,updata,insert),这种情况一般要如何选择数据表的类型.目前有两种MyISAM和InnoDB,前者应该就是易于操作但是不支持事务处理.后者支持事务处理还有外键关联,但是查询速度比较慢.请问对于这种问题应该怎么取舍呢?大伙平时一般都是怎么处理这种情况的?是以数据库的完整性为主还是效率为主.rn请各位提点意见.rn主要是用于web方式的OA系统.
如何定义"datatime"与"bit" 类型
rncreate table UserAuthority--用户权限表rn( UserID char(10) not null primary key references Users(UserID),rn ProgramID char(5) not null references Programs(ProgramID),rn Running bit(1) not nullrn)rnrncreate table ChangeMaster--存货变动单主表rn(rn ChangeID char(10) not null primary key,rn ChangeDate Datetime(8) not null,rn Description Char(40)rn)rn这两个表老是出错,不知道如何定义bit 与 datatime数据类型的属性,请指教。
当插入一条有bit类型字段的记录时,格式该怎么写?
-
bit类型数据如何赋值?
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@orderby",SqlDbType.Bit,1));rn myCommand.SelectCommand.Parameters["@coltype"].Value=??;rn我想赋0或者1,如何写???rn-------------
数据库表中字段的类型
在数据库中定义个一个表rn一般都将设置一个主键为数值型,与设置成字符型有什么区别??rn
sql2000中的bit类型问题
我在表中将pmember_id_real定义成bit型数据 默认值是0 rn当我用想获得表中pmember_id_real为0的数据rn<%rnSet rsss=Server.CreateObject("ADODB.RecordSet")rnsql="select * from JOB_P_pmember"rnrsss.open sql,conn,1,1rnrnif rsss("pmember_id_real")=0 thenrndo while not rsss.eof rn%>rn<%=rsss("pmember_id")%> <%= rsss("pmember_login") %> <%= rsss("pmember_id_real") %>rn<%rnrsss.movenextrnlooprn%>rn<%else%>rn<%rnresponse.Write("")rn%>rn缺输出了所有数据其中就包括pmember_id_real字段为1的pmember_login=bulls5988 pmember_id_real=Truern明明是pmember_id_real=True为什么还会输出呢?rn
如何设计包含尽可能多类型的容器?
分数不多了[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/9.gif][/img]有了分一定加上!rnrn就像C#的WINFORM可以包含很类控件一样。rn假设我也想实现类似的这样,[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/27.gif][/img]rnrn想设计一个容器类(FORM),其中可以存放各种控件(不同的类)。并且可以把这个不同控件组织成树型结构。rn即把不同的类放到这个容器“树”上。rn这样的容器应该如何设计,没有一点头绪[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/9.gif][/img]rn请前辈推荐下参考哪些资料,论文,书之类的?谢谢!
进销存数据库表如何设计?
进销存数据库表如何设计rnrn要求可以知道品名:A,从某年某月某日到某年某月某日的期初数量,金额;期末数量,金额;库存数量,金额
设计数据库表时数据类型的选择
1. 整数类型 整数类型有:tinyint、smallint、mediumint、int、bigint,分别使用 8、16、24、32、64 位存储空间。 它们可以存储的值范围从 -2 的 (n-1) 次方到 2 的 (n-1) 次方 -1,n 是存储空间的位数。 整数有可选的 unsigned 属性(无符号类型),表示不允许有负值,因此可以使正数上限提高一倍。 有符号和无符号类型使用相同...
如何设计数据库表?
一、设计表的原则: 1.原子性:表的字段是不可在分割的。 2.原始性:表中的数据都是最原始的(基本数据类型) 3.演绎性:由表中的数据的不同组合,可以派生出所有你想要的数据 4.稳定性:表的结构都是相对稳定的,表中的记录都是要长期保存的。 二、设计应该遵循的范式: 第一范式:确保每列数据的原子性,即不可拆分 第二范式:第一的基础上,确保每列都和主键相关(如果不相关的话,试想查询如何查
如何设计这样的数据库表
有一个雇员表:emp_table。 每个雇员有一个雇员号emp_id,还有一个主管号emp_id,表示他/她所直属的上级主管manager_emp_id,以及其他信息。所有主管也是雇员,存在雇员表emp_table中,雇员表中很多人都有可能是主管身份,只要他/她有下属的人。但是如果有一天,某个主管离职了,那么所有她的下属员工的对应的manager_emp_id不是都要手工去一个个改过来?该如何设计避免这种情况
当数据库表中不存在主键
select @rownum :=@ruwnum + 1 AS rowNum, a.* from (select @rowNum := 0) r, tableName a order by a.fileName 上面的sql语句使用与mysql 上面的查询语句中显示的内容就是将rowNum作为一个临时的字段值在上面显示出来 需要注意的地方是在将页面前台进行显示的时候,有需要将主键显示的地...
如何删除数据库表中的列?在线等~~
我有一个不固定列数和列名的数据库表,说是sql server不能直接删除列,如果我要删除一个列,该如何做呢?因为列名和列数是不固定的,需要从各列中找到要删除的列,我该如何做呢?请高手指教~~~
Sum 的条件中有BIT类型的条件该如何处理?
[code=SQL]select sum(ISNULL(DONEPAYMENT,0)) from SALES where K_ID=2 and GOBACK1=0[/code]rn提示操作数数据类型 bit 对于 sum 运算符无效。rnrn如果要得到满足条件的SUM该如何处理?rnrnGOBACK1是BIT的类型rn
当字符串中包含字符'〇'时如何进行查询和替换
我发现SQL中对字符'〇'的查询和替换总是有问题? 如何解决呢? 查'〇'的时候不包括'〇'的字符也出来了
数据库设计时,性别用bit类型表示
怎样才能在gridview控件中性别一列用下拉框显示‘男’‘女’
Mysql数据库表字段设计优化(状态列)
一、传统用户状态设置    传统的数据库表中,涉及到状态的字段时,通常都会第一反应就是将其设置为0和1来表示。比如需求是,设计一张表来检查用户状态(绑定邮箱,绑定手机,实名认证,是否已经开通VIP),我以前会这样设计Java类。UserInfo@Getter @Setter public class UserInfo extends baseDomain{ private boolean re...
求数据库表中列的个数
求数据库表中列的个数,方便查出有多少个列
数据库表中列数据相加
开发工具与关键技术:vs 数据库表列数据相加 作者:章明 撰写时间:2019/6/15 这个表的列数据相加说的通俗一点就是一个表有行有列,而这里的列就是数据表中的列 如图,我所表达的意思就是一列数据的相加,(虽然设计数据库的时候,院长对我们要求是,可以通过计算得到的数据就不需要在数据库中建立一个字段(一列),但这里的需要计算总的数值,并在添加数据时我可以通过计算得到,下文会做解释。...
当一个int类型函数失败时,该返回什么?
int SqList::Get(int position) rnrn if(position<1 || position>count)rn //这里该返回一个什么rn elsern rn return elem[position-1];rn rn rnrn对于这样的一个函数,假如if成立就表示本函数失败,这个时候该返回什么呢??
Excel中这样的表头,如何设计数据库表
[img=http://my.csdn.net/uploads/201208/22/1345611275_1288.PNG][/img]
积分系统数据库表该什么设计
我最近在做一个积分系统rn主要涉及的业务如下:rn1.每日签到添加积分rn连续签到得到的积分不同rn如第1天签到10积分, 第2天签到20积分rnrn2.每天抽奖获取积分(获取到的积分就是在某两个数之间取随机数)rn每天两次免费抽奖机会,超过的话就要消耗积分才能抽奖 rnrn3.评论, 回复, 登录, 注册, 完善资料等添加积分rnrn4.可以用积分兑换商品rnrn目前设计的表如下rn1.积分类型表 (每天签到, 抽奖, 评论, 回复, 登录等都属于积分类型)rnid -- 积分类型idrnname -- 积分类型名rnexplain --积分类型描述rngrade -- 每次获取积分数rncount -- 每天限制次数(超过就不能再获取积分)rninputTime -- 创建时间rnrnrn2.积分明细表rnidrntypeId 积分类型idrngrade 积分值(为正表示获取到的积分, 为负表示消耗的积分)rnmemberId 用户idrnexplain 描述rninputTime 创建时间rnrn问题就是积分类型表这个表该怎么设计会好点rnrn因为有些类型如注册, 完善资料获取到的积分是确定的rn注册送50积分, 完善资料送50积分rnrn但有些类型如每日签到, 抽奖获取到的积分都是不确定的rn签到是第1天10积分,连续签到第2天就20积分rnrn注册, 完善资料这些都是属于一次性任务, 做完了就不能再做了rnrn每天签到, 抽奖, 评论, 回复这些都属于每天任务, 每天都有限制次数。rn抽奖又比较特殊点限制次数是免费次数, 超过了就要消耗积分rnrn以上, 怎么设计积分类型表会好点?rnrn我只是初出茅庐的新手, 今天第一次发帖, 请各位大神多多指教rnrnrnrnrn
bit类型的插入
insert rninto student (studentcard,sname,sgrade,sspecialtyID,isValid)rnvalues ('1','test_sname','2005','2',convert(bit,0))rnrnisValid 是bit类型rn错误提示:rn消息 8152,级别 16,状态 4,第 1 行rn将截断字符串或二进制数据。rn语句已终止。rn