找回密码
 立即注册

QQ登录

只需一步,快速开始

houys 悬赏达人认证 活字格认证

金牌服务用户

134

主题

444

帖子

1590

积分

金牌服务用户

积分
1590

活字格高级认证悬赏达人活字格认证圣诞拼拼乐

houys 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-6-28 09:03  /   查看:4023  /  回复:15
1金币
查询数据时,比如想要查询的数据id为1,但是传递过去的值为空,那么查询出的是所有行,如何才能为空的时候查询为空的数据。

15 个回复

正序浏览
houys悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-6-30 18:17:17
16#
Timothy.Xu 发表于 2021-6-29 17:34
您好,目前可能没有别的办法。在实际开发的时候,这种情况并不是少见的,比如对于数据类型的处理,如果一 ...

我找到了解决为空的判断方法了,

直接设置参数是不行的因为他会默认把%null%转换为null,所以没有发生实质变化

需要在外部传递一个参数为%Null% 然后在服务端命令里判断查询出的字段是否为空,为空则设置参数命令等于外部传递的参数,然后用这个参数做查询条件就好了
回复 使用道具 举报
Timothy.Xu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-6-29 17:34:15
15#
houys 发表于 2021-6-29 17:18
有别的处理方案吗,这个是不可控的

您好,目前可能没有别的办法。在实际开发的时候,这种情况并不是少见的,比如对于数据类型的处理,如果一个地方既有可能是数字5,又有可能是字符串"5",该如何处理呢?因为最终用户是不会区分二者的区别的,而计算机会,所以我们在做开发的时候难免会需要做这种兼容性处理。
回复 使用道具 举报
houys悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-6-29 17:18:45
14#
David.Zhong 发表于 2021-6-29 16:31
出现这个问题是因为您的数据中存在空值的情况,建议您可以思考一下数据结构是否合理。
一般是不需要考虑 ...

有别的处理方案吗,这个是不可控的
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-6-29 16:31:05
13#
本帖最后由 David.Zhong 于 2021-6-29 16:34 编辑
houys 发表于 2021-6-29 16:15
但是比如说我有五六个判断条件,我要判断五六个字段是否为空
那我岂不是要写十几个if,因为有的字段他为 ...

出现这个问题是因为您的数据中存在空值的情况,建议您可以思考一下数据结构是否合理。
一般是不需要考虑这个问题的,给您几个建议:
1.为字段设置必须;

2.避免用可能为空值的字段作为查询条件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
houys悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-6-29 16:15:58
11#
David.Zhong 发表于 2021-6-29 15:54
需要在数据库查询条件设置的时候选择%NULL%。

用设置变量命令将变量设置为%NULL%,得到的将会是文本%N ...

但是比如说我有五六个判断条件,我要判断五六个字段是否为空
那我岂不是要写十几个if,因为有的字段他为空有的字段就不为空
应该怎么处理好点
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-6-29 15:54:05
10#
houys 发表于 2021-6-29 14:51
就这个样子的就可以是吧

需要在数据库查询条件设置的时候选择%NULL%。

用设置变量命令将变量设置为%NULL%,得到的将会是文本%NULL%,用在查询条件中可能不是您所期望的结果~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
houys悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-6-29 14:51:15
9#
就这个样子的就可以是吧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-6-29 09:25:13
8#
houys 发表于 2021-6-28 17:50
就是说,我从一个表中查询出的数据,是不是要先判断这个查询出来的是否为空,然后如果为空就为null

如果查询出来的数据可能为空的话,确实需要您根据业务逻辑做特殊处理。就您目前所描述的内容来看确实是需要先判断这个查询出来的是否为空,然后如果为空就用%NULL%作为查询条件。
看完必恍然大悟的活字格内幕:十六,空值和%null%的区别 - 活字格专区 - 专题教程 - 葡萄城产品技术社区 (grapecity.com.cn)

感谢您对活字格的支持~
回复 使用道具 举报
houys悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-6-28 17:50:59
7#
Chelsey.Wang 发表于 2021-6-28 16:42
没太理解您这句话,您这个场景下,表格中查询出值为空时,在另一个表中直接用null查询不就可以了吗?不为 ...

就是说,我从一个表中查询出的数据,是不是要先判断这个查询出来的是否为空,然后如果为空就为null
回复 使用道具 举报
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-6-28 16:42:17
6#
houys 发表于 2021-6-28 15:08
那我岂不是要先判断这个值是不是为空然后再决定要不要用null

没太理解您这句话,您这个场景下,表格中查询出值为空时,在另一个表中直接用null查询不就可以了吗?不为空就用本身的值做查询,不需要判断要不要用null吧?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部