如何匹配 DB2 (z/OS) 查询中的字符串?

发布于 2024-09-30 03:08:46 字数 262 浏览 7 评论 0原文

这让我大吃一惊。

我想做的就是对长 varchar 字段进行基本字符串比较。

我有一张大约的桌子。 12M 条记录。

如果我查询 MY_FIELD='a string',我得到的计数为 25947,这似乎是正确的。

如果我查询 MY_FIELD!='a string',我得到的计数为 989。

这 2 个计数加起来不应该等于 12M 的完整表大小吗?

This is blowing my mind.

All I want to do is basic string comparison on a long varchar field.

I have a table of approx. 12M records.

If I query for MY_FIELD='a string', I get a count of 25947, which seems about right.

If I query for MY_FIELD!='a string', I get a count of 989.

Shouldn't these 2 counts add up to the full table size of 12M?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

执着的年纪 2024-10-07 03:08:46

其中有多少行 MY_FIELD 设置为 NULL

a. select count(*) from mytable;
b. select count(*) from mytable where my_field is null;
c. select count(*) from mytable where my_field is not null;
d. select count(*) from mytable where my_field = 'some value';
e. select count(*) from mytable where my_field != 'some value';

NULL 不等于或不等于任何值,包括NULL,所以我希望d+e等于cb+c 等同于 a

And in how many of those rows is MY_FIELD set to NULL?

a. select count(*) from mytable;
b. select count(*) from mytable where my_field is null;
c. select count(*) from mytable where my_field is not null;
d. select count(*) from mytable where my_field = 'some value';
e. select count(*) from mytable where my_field != 'some value';

NULL is not equal or unequal to any value, including NULL so I would expect d+e to equate to c and b+c to equate to a.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文