电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

技术答疑.过滤.基础资料字段和文本字段过滤空值的差异分析

来源:金蝶云社区作者:金蝶2024-09-2313

技术答疑.过滤.基础资料字段和文本字段过滤空值的差异分析

【问题描述】应收单,使用源单单据类型字段进行不等于过滤时,无法获取源单单据类型等于空值的数据行;使用备注字段进行等于过滤时,可以获取备注等于空值的数据行。



【原因分析】通过数据库抓包工具(SQL Server ProFiler),我们可以抓到上图中的列表查询产生的SQL语句如下:

分析SQL可知:

源单单据类型不等于标准采购单产生的SQL条件是:st112_L.FNAME <> N'标准采购单'

备注不等于xxxxxx产生的SQL条件是:t1.FCOMMENT <> N'xxxxxx'


由此可知,源单单据类型字段(基础资料字段)参与过滤时,是使用的源单单据类型的名称查询,而非内码,因为源单单据类型的名称是多语言字段,所以用名称查询时,必须用应收单分录表t_AR_receivableEntry与源单单据类型的多语言表T_BAS_BILLTYPE_L进行左连接。当应收单分录表中的源单单据类型为空时,左连接的结果集合中的源单单据类型名称是NULL,而NULL值在数据库中代表的是不确定,用NULL值和任何值进行布尔运算,返回的都是否(False)。当源单单据类型为空时,实际执行的是NULL<> N'标准采购单',此条件永远不成立,这就是源单单据类型为空的数据行无法查询出来的根本原因。


那么,备注为空的数据行为什么可以查询出来呢?首先,备注字段直接

技术答疑.过滤.基础资料字段和文本字段过滤空值的差异分析

【问题描述】应收单,使用源单单据类型字段进行不等于过滤时,无法获取源单单据类型等于空值的数据行;使用备注字段进行等于过滤时,可以获...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信