sqlserver数据库中的字段是bit类型的,数据库中查询查询出来的值为什么是true,o查询不出来

sqlserver数据库中的字段是bit类型的,数据库中查询出来是0或者1,为什么java项目中mybatis查询出来的值会是true?而且0的数据都没查出来,请大神教教... sqlserver数据库中的字段是bit类型的,数据库中查询出来是0或者1,为什么java项目中mybatis查询出来的值会是true?而且0的数据都没查出来,请大神教教怎么改进,急等 展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
探掌搋捶
推荐于2017-09-13 · TA获得超过221个赞
知道小有建树答主
回答量:73
采纳率:40%
帮助的人:43.8万
展开全部
观念:

一、在编程的领域,true 跟 1 或「真」同义;false 跟 0 或「假」同义。数据库查出结果为 0 或 1,是数据库本身的效果。

二、数据库的 bit 资料型别本身就是存放布林值,不是「真」就是「假」,在编程语言里的相应型别通常也会是 true 或 false。不过有些比较不严谨的编程语言, true 或 false 一般会用 1 或 0 来代表。

三、改进的方式,就是瞭解上述观念之後,找出你编程语言中等效的比较方式即可。也就是你要知道数据库的 true 或 false,跟你所用编程语言的哪种资料型别等效。

四、从你提供的线索「mybatis 查出来的值是 true」,那很显然两边都可以用 true 或 false 来当做判断的依据。
追问
主要是,比如我查的这条sql语句,查出来的这个字段的值有1和0同事存在的话,0的那些数据都没查出来,只查出来1的值,当然出来的效果就是开始提问的true了,如果不管是0还是1的数据都没查出来还能好办,可是不知道什么原因,数据库查询出来的都没有任何问题,项目上只查出true的值,false的数据查不出来,好忧伤,麻烦大神再帮帮忙解答,谢谢啦。
追答
首先要知道:资料型别为 bit 的,不可能出现「同一笔资料的同一个字段同时在存在两种结果」的情况。

你的叙述,看起只是单纯的资料筛选和 java 端的判断不匹配。

建议:

1、把 java 端的代码贴出来
2、附上你的资料结构
3、数据库端的 sql 语句也贴出来
4、说明你想要达成什麼效果
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式