Select Crystal Reports compare在没有修剪的情况下无法工作

Select Crystal Reports compare在没有修剪的情况下无法工作,select,crystal-reports,logic,Select,Crystal Reports,Logic,{AR_Customer.CustomerType}是一个4个字符的字段 {AR_Customer.CustomerType}“S” 除非我这样做,否则不会返回所有正确的记录: 修剪({AR_Customer.CustomerType})“S” 在实际数据库中,空字段是我缺少的字段 这告诉我than NULL和“S”是一样的-,我不这么认为,但这就是Crystal在没有修剪的情况下反应的方式() 这里有一个我需要理解的一般规则吗?数据库列可以是4个字符的“固定宽度”,如果这是真的,那么{AR\u

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

{AR_Customer.CustomerType}“S” 除非我这样做,否则不会返回所有正确的记录: 修剪({AR_Customer.CustomerType})“S”

在实际数据库中,空字段是我缺少的字段

这告诉我than NULL和“S”是一样的-,我不这么认为,但这就是Crystal在没有修剪的情况下反应的方式()


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

数据库列可以是4个字符的“固定宽度”,如果这是真的,那么
{AR\u Customer.CustomerType}”S“
将是
trim({AR\u Customer.CustomerType})”S“
的另一种选择,因为它去除了字段的空白

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

IS NULL
IS NOT NULL
在数据库中,使用SQL,获取AR_Customer.Customer类型为“S”且为空的所有行的查询将是:

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

你在使用什么数据库?“S”是否存储为“S”(后面有3个空格)?是否为报表(文件|报表选项…)或工作站(文件|选项…)启用了“将数据库空值转换为默认值”属性?您的问题现在解决了吗?你对这个答案还有疑问吗?若要接受答案“”,请参阅