首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL NOT IN()不工作,返回不应该返回的数据

SQL NOT IN()是一种用于过滤数据的查询条件,用于在查询结果中排除指定的值。然而,有时候可能会出现查询结果不符合预期的情况。

可能导致SQL NOT IN()不工作的原因有以下几个方面:

  1. 数据类型不匹配:SQL中的数据类型需要匹配才能正确进行比较。如果数据类型不一致,可能会导致查询结果不正确。在使用SQL NOT IN()时,需要确保比较的数据类型一致。
  2. NULL值处理:SQL中的NULL值与其他值的比较结果不确定。使用SQL NOT IN()时,如果查询结果中包含NULL值,可能会导致不符合预期的结果。在处理包含NULL值的情况下,可以使用IS NULL或IS NOT NULL来进行精确的比较。
  3. 列中包含空格或特殊字符:列中包含空格或特殊字符可能会导致查询结果不符合预期。在使用SQL NOT IN()时,确保列中的值没有额外的空格或特殊字符,可以使用TRIM()函数来去除空格。
  4. 子查询中的结果不正确:如果SQL NOT IN()中使用了子查询,确保子查询的结果准确无误。子查询可能返回错误的结果,导致主查询的结果也不正确。

为了解决SQL NOT IN()不工作的问题,可以尝试以下方法:

  1. 使用其他的条件运算符:尝试使用其他的条件运算符,如NOT EXISTS、LEFT JOIN等来代替SQL NOT IN(),看是否能得到正确的结果。
  2. 检查数据类型:确保比较的数据类型一致,可以使用CAST()或CONVERT()函数进行数据类型转换。
  3. 处理NULL值:对于包含NULL值的情况,使用IS NULL或IS NOT NULL进行精确的比较。
  4. 检查列中的空格或特殊字符:使用TRIM()函数去除列中的空格或特殊字符,确保比较的准确性。

总结起来,SQL NOT IN()不工作可能是由于数据类型不匹配、NULL值处理、列中包含空格或特殊字符、子查询结果不正确等原因导致的。通过检查数据类型、处理NULL值、去除空格或特殊字符以及检查子查询结果的准确性,可以解决SQL NOT IN()不工作的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

sql返回指定节点树形结构数据

背景 就是有这么一个需求,返回指定组织下组织机构,以及所在该组织机构下的人。(用sql) 简单描述就是如下: ?...请叫我树形图 使用sql返回部门1以及其子部门数据。 很明显就是一个树形递归嘛,用代码就比较好实现。 但是要用sql实现,就稍微麻烦点。...正文 创建符合上述思维导图表department,如下图: ? 请叫我数据表 我就不按网上百度sql树形递归思路讲了。我也去百度了,感觉一大扒拉,又不想看。...返回指定节点以及其下子节点数据 到此,本文需求功能已实现。 知识点 1.数据库是mysql,所用函数也是mysql函数。 2....如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。 结语 积跬步无以至千里。觉得不错,记得点亮小星星。

2.6K31

nc命令卡住返回分析

具体通过如下命令获取zk状态: echo stat | nc 192.168.73.77 2181 出现问题时,发现nc命令一直没有返回,导致无法执行后续步骤(程序压根没启动)。...不信邪,再多试几次,nc命令均正确返回退出,并且能获取到对应状态信息,看来是个偶现问题。 既然命令当前执行都正常,难道是执行nc命令那个时刻,zk出现了异常导致没有响应?...s.accept() msg=c.recv(1024) print(msg) c.sendall('hncscwc') time.sleep(1000) c.close() 然后再执行命令,可以发现nc未返回...通过增加参数“+vvvvvv”查看nc命令执行过程中输出,对比正常情况和异常情况,可以清楚看到这一点: 正常退出情况: 异常不退出情况: 清楚了问题所有环节,只剩下为什么nc命令没有收到...简单man了一把nc,发现有一个"-i"参数,指的是连接最大读写空闲时间。加上参数,再来进行测试,发现连接虽然处于FIN_WAIT2状态,但等待指定时长后,nc命令返回退出了。

2.6K30
  • python让函数返回结果方法

    函数返回值简介 1、简单介绍print和return区别,print仅仅是打印在控制台,而return则是将return后面的部分作为返回值:作为函数输出,可以用变量接走,继续使用该返回值做其它事。...2、函数需要先定义后调用,函数体中return语句结果就是返回值。如果一个函数没有reutrn语句,其实它有一个隐含return语句,返回值是None,类型也是’NoneType’。...def func(x,y): num = x + y return print(func(1,2)) #上面代码输出结果为:None 从上面例子可以看出print( )只是起一个打印作用,函数具体返回什么由...return决定 return语句作用: 结束函数调用、返回值 指定返回值与隐含返回值: 1、函数体中return语句有指定返回值时返回就是其值 2、函数体中没有return语句时,函数运行结束会隐含返回一个...: 返回简单值 下面来看一个函数,它接受名和姓并返回整洁姓名: def get_formatted_name(first_name, last_name): full_name = first_name

    6.3K41

    记录工作小问题-数据返回类型

    记录工作中一个小问题 在我虚拟机里面, 与前端同学进行接口联调, 完成后发版到测试环境时, 前端同学突然说这个不对劲, 以为啥不对呢, 原来说返回值类型不对....不慌不忙, 去测试环境抓包看了下, 接口返回有 int 有 string, 再看我虚拟机服务返回全是 string....什么参数会影响数据库查询值 首先我虚拟机直连测试库, 排除掉数据库服务端配置问题....视线转移到客户端配置: PDO::ATTR_STRINGIFY_FETCHES 表示提取时候将数值转换为字符串 这个参数是可以影响到返回, 但是配置项经过跟测试环境比对, 底层设置默认都是 false...因此,您不需要安装MySQL即可构建PHP或运行PHP数据库应用程序。 由于MySQL本机驱动程序是作为PHP扩展编写,因此它与PHP工作紧密相关。

    74530

    工作中递归返回多层级josn数据

    (相当于定义泛型,T[]是在使用泛型T) 泛型是Java SE 1.5新特性,泛型本质是参数化类型,也就是说所操作数据类型被指定为一个参数。...这种参数类型可以用在类、接口和方法创建中,分别称为泛型类、泛型接口、泛型方法 2.该方法返回集合中所有元素数组;返回数组运行时类型与指定数组运行时类型相同。...(elementData, 0, result, 0, size); return result; } 从源码中可以看出它仅能返回 Object[]类型,相当于toArray(new Object...[0]) 注意:数组不能强制转换 不带参数toArray方法,是构造一个Object数组,然后进行数据拷贝,此时进行转型就会产生ClassCastException String[] tt =(String...带参数toArray方法,则是根据参数数组类型,构造了一个对应类型,长度跟ArrayListsize一致空数组,虽然方法本身还是以 Object数组形式返回结果,不过由于构造数组使用ComponentType

    71050

    PythonDjango框架实现数据库查询(返回QuerySet方法)

    ~ 二、介绍返回QuerySet方法: 方法名 介绍 get() 获取单个对象 create() 创建对象 bulk_create() 批量创建对象 get_or_create() 查询对象,若没有找到则创建新对象...建议:只在Django视图POST请求中使用get_or_create(),因为这是一个具有修改性质动作,不应该使用在GET请求中,那样不安全。...) 返回数据库中对应QuerySet对象个数。...sql语句,因为存在sql缓存机制, # 把第一次查询结果放到缓存里, 下次从缓存里调 for obj in course_list: print(obj.name, obj.price) """...以上这篇PythonDjango框架实现数据库查询(返回QuerySet方法)就是小编分享给大家全部内容了,希望能给大家一个参考。

    2.6K30

    程序返回数据标准格式

    当你需要写一个函数来验证,处理数据时,返回数据是必须 通常来讲,写函数是为了重用代码,使这个函数可以通用在很多地方,比如验证表单信息,验证会员身份,验证余额,处理会员数据,查询数据 这个时候,就得返回验证失败或者成功...,验证失败也有验证失败提示信息,返回数据也有可能有错误信息,也有返回成功数据,所以我们应该规范一个返回数据类型格式 简洁来说,一个函数,验证失败应该返回false,并且返回失败信息,验证成功应该返回...true,并且返回数据信息 在很多代码里面,都是返回以下一种数组格式 $result['status']=true;//false $result['message']='出错信息,验证失败信息';...$result['data']=$data;//返回数据 上面的数组基本是通用格式,并且用处广泛,可以用于接口,自己程序各种验证函数,数据处理函数,全部通用,希望大家养成一个编码好习惯.

    1.1K30

    由Dapper QueryMultiple 返回数据问题

    今天帮群友整理Dapper基础教程时候手脚快了点,然后遇到了一个小问题,Dapper QueryMultiple 返回数据问题 多个返回值用QueryMultiple ,这个大家都知道,如果不清楚看下下面的文档...= @idselect * from Returns where CustomerId = @id";using (var multi = connection.QueryMultiple(sql,...其实就是顺序弄颠倒了,园友可以当个经验==》Dapper QueryMultiple并不会帮我们识别多个返回顺序 Read获取时候必须是按照上面返回顺序 (article,qqmodel,seotkd...官方文档是这样写,那我们能不能玩点其他?就一定得定义一个类来获取对应强类型吗?多返回值就不能动态获取吗???NONONO 直接 if (!...multi.IsConsumed) { ////强类型 ////注意一个东西,Read获取时候必须是按照上面返回顺序 (article

    1.6K120

    Django 返回json数据实现示例

    在一个网站,大量数据前后端交互,JSON是最好传递数据方式了。...在Django中,使用JSON传输数据,有两种方式,一种是使用PythonJSON包,一种是使用DjangoJsonResponse 方法一:使用PythonJSON包 from django.shortcuts...'patient_id': '19000347', '诊断': '上呼吸道感染', } return HttpResponse(json.dumps(data)) 我们暂且把data看成是从数据库取出来数据...这有什么用 有时我们从数据库取出来数据,很多是列表类型,特别是用cx_Oracle包在Oracle数据库取出来数据,其不支持直接字典输出,输出就是一个list,这时我们使用JsonResponse...到此这篇关于Django 返回json数据实现示例文章就介绍到这了,更多相关Django返回json 内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn

    5.5K30

    SQL Server 返回最后插入记录自动编号ID

    IDENT_CURRENT 返回为任何会话和任何作用域中特定表最后生成标识值。IDENT_CURRENT 不受作用域和会话限制,而受限于指定表。...IDENT_CURRENT 返回为任何会话和作用域中特定表所生成值。 @@IDENTITY 返回为当前会话所有作用域中任何表最后生成标识值。...SCOPE_IDENTITY 返回为当前会话和当前作用域中任何表最后生成标识值 SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中任何表内所生成最后一个标识值。...IDENT_CURRENT(‘TableName’) –返回指定表中生成最后一个标示值 SELECT IDENT_INCR(‘TableName’)–返回指定表标示字段增量值 SELECT...IDENT_SEED(‘TableName’)–返回指定表标示字段种子值 返回最后插入记录自动编号 SELECT IDENT_CURRENT(‘TableName’) 返回下一个自动编号

    2.2K40

    Go: 命名返回使用, return携带还是携带?

    在Go语言中,命名返回值提供了一种声明函数返回方式,它可以增加代码可读性和灵活性。但是,在使用命名返回值时,return语句是否应该明确携带返回值,是一个常见困惑。...带命名返回return 如果在函数中使用了命名返回值,你可以在return语句中明确指定返回值,如下所示: func sum(a, b int) (result int) { result =...不带命名返回return 或者,你可以省略return语句中返回值,让Go自动返回命名返回值的当前值: func sum(a, b int) (result int) { result = a...建议做法 对于简单函数,可以考虑省略return语句中返回值,使代码更精简。 对于复杂函数或重要库,可能更适合明确指定返回值,以增加代码可读性和可维护性。...总结 命名返回值在Go语言中是一个强大工具,但如何使用它没有固定规则。选择是否在return语句中携带返回值取决于多个因素,包括代码复杂性、团队编程风格以及可读性和可维护性需求。

    41630

    WebAPI返回数据类型解惑 以及怎样解决Extjs无法解析返回xml

    2.怎么修改WebAPI返回数据类型,我用IE浏览器请 求返回数据都是JSON格式,用Firefox和Chrome返回数据格式是XML,然后自己用HttpWebRequest请求返回是JSON格...IE浏览器返回数据是json,而使用Firefox和Chrome返回则为xml,经研究发现IE在发生http请求时请求头accpet节点相比Firefox和Chrome缺少"application/...数据,下面是IE、Firefox和Chrome浏览器请求头 浏览器 返回数据格式 accept请求头 IE json text/html, application/xhtml+xml, */* Firefox...=0.9,结果返回了xml 由此可以得出结论:   WebAPI返回数据类型是有请求头accept来决定,默认返回类型为json     1.application/json和application.../json和application/json时,返回数据类型和两者顺序无关,若两者优先级相同则返回json,若优先级不同则返回优先级高类型 详见下表: Accept头 返回类型 application

    1.9K80

    Mybatis映射文件深入 - 新增数据返回主键ID - 动态SQL - SQL片段

    Mybatis映射文件深入 - 新增数据返回主键ID - 动态SQL - SQL片段 前言 在前面的篇章中,我们已经认识了如何使用 resultMap标签 映射查询结果集字段、多条件查询、模糊查询。...下面我们继续来深入认识一下 MyBatis 映射文件。 新增数据后,返回主键 ID 应用场景 向数据库保存一个user对象后, 然后在控制台打印此新增user主键值(id) # 点外卖 1....需要返回这条记录主键, 然后给第三方配送平台, 送外卖 实现案例一:基于MyBatis 框架自带主键返回功能 ① UserMapper接口 /* * # 复杂操作:插入一条数据返回对应主键...下面我们来模拟查询,如下: -- 查询数据同时,查询返回自增ID -- 注意:这两行SQL要按照顺序同时执行,否则单独查询 SELECT LAST_INSERT_ID(); 不会返回最新自增ID...① UserMapper接口 public interface UserMapper { /* * # 复杂操作:插入一条数据返回对应主键 * sql:

    1K30
    领券