如果没有修剪,水晶报表比较就无法工作
{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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
数据库列可以是 4 个字符的“固定宽度”,如果这是真的,那么
{AR_Customer.CustomerType}<>"S "
将是trim({AR_Customer .CustomerType})<>"S"
之所以有效,是因为它去除了字段的空白。NULL 不等于“S”或任何值。事实上,在 SQL 中,您不能使用等于 NULL 的符号,而是必须使用这些特殊术语:
在数据库中,使用 SQL,获取 AR_Customer.CustomerType 为“S”和 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 totrim({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:
In the database, using SQL, a query to get all rows with AR_Customer.CustomerType of "S" and NULLs too would be: