sqlserver数据库中的字段是bit类型的,数据库中查询查询出来的值为什么是true,o查询不出来
sqlserver数据库中的字段是bit类型的,数据库中查询出来是0或者1,为什么java项目中mybatis查询出来的值会是true?而且0的数据都没查出来,请大神教教...
sqlserver数据库中的字段是bit类型的,数据库中查询出来是0或者1,为什么java项目中mybatis查询出来的值会是true?而且0的数据都没查出来,请大神教教怎么改进,急等
展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
展开全部
观念:
一、在编程的领域,true 跟 1 或「真」同义;false 跟 0 或「假」同义。数据库查出结果为 0 或 1,是数据库本身的效果。
二、数据库的 bit 资料型别本身就是存放布林值,不是「真」就是「假」,在编程语言里的相应型别通常也会是 true 或 false。不过有些比较不严谨的编程语言, true 或 false 一般会用 1 或 0 来代表。
三、改进的方式,就是瞭解上述观念之後,找出你编程语言中等效的比较方式即可。也就是你要知道数据库的 true 或 false,跟你所用编程语言的哪种资料型别等效。
四、从你提供的线索「mybatis 查出来的值是 true」,那很显然两边都可以用 true 或 false 来当做判断的依据。
一、在编程的领域,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、说明你想要达成什麼效果
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询