如果没有修剪,水晶报表比较就无法工作

发布于 2024-08-06 06:19:37 字数 279 浏览 1 评论 0原文

{AR_Customer.CustomerType} 是一个 4 个字符的字段

{AR_Customer.CustomerType}<>"S" 不会返回所有符合此条件的记录,除非我这样做: trim({AR_Customer.CustomerType})<>“S”

在实际数据库中,

NULL 字段是我缺少的字段。所以这告诉我 NULL 与“S”相同——我不这么认为,但这就是水晶在没有 trim() 的情况下的反应,

这里有我需要理解的一般规则吗?

{AR_Customer.CustomerType} is a 4 character field

{AR_Customer.CustomerType}<>"S"
does not return all records where this is true unless I do it this way:
trim({AR_Customer.CustomerType})<>"S"

in the actual database the NULL fields are the ones I'm missing.

So this tells me than NULL is the same as "S" -- I don't think so, but that's how Crystal is reacting without trim()

Is there a general rule here that I need to understand?

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

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

发布评论

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

评论(1

一直在等你来 2024-08-13 06:19:37

数据库列可以是 4 个字符的“固定宽度”,如果这是真的,那么 {AR_Customer.CustomerType}<>"S " 将是 trim({AR_Customer .CustomerType})<>"S" 之所以有效,是因为它去除了字段的空白。

NULL 等于“S”或任何值。事实上,在 SQL 中,您不能使用等于 NULL 的符号,而是必须使用这些特殊术语:

IS NULL
IS NOT NULL

在数据库中,使用 SQL,获取 AR_Customer.CustomerType 为“S”和 NULL 的所有行的查询将是:

where (AR_Customer.CustomerType = 'S   ' or AR_Customer.CustomerType IS NULL)

The database column could be a "fixed width" of 4 characters, if that is true then {AR_Customer.CustomerType}<>"S " would be an alternative to trim({AR_Customer.CustomerType})<>"S" which woks because it strips away white space of the field.

NULL does NOT equal 'S' or any value at all. In fact in SQL you cannot use he equal symbol for NULL, instead you have to use these special terms:

IS NULL
IS NOT NULL

In the database, using SQL, a query to get all rows with AR_Customer.CustomerType of "S" and NULLs too would be:

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