2020-09-16 15:07发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我在使用SELECT语句和空字段值的ADS(12.2)时遇到问题:它无法正常工作!我已经尝试了其他变体: 从DEMO中选择*,其中PARNR = 20 AND Empty(TXTFLD)从DEMO中选择*,其中PARNR = 20 AND TXTFLD <>'X'从DEMO中,选择* *,其中PARNR = 20 AND TXTFLD ='' 工作可靠。我该怎么办?
您尝试过
从DEMO中选择*,其中PARNR = 20 AND TXTFLD为NULL
?
如果您使用的是ADT或VFP表,并且您的空白字段是真正的空白(而不是空格或零),则该值为NULL。 任何针对NULL的相等性或不相等性测试都将失败。 如果我的电话号码和您的电话号码在数据库中均为NULL,则并不意味着我们拥有相同的电话号码。 这也不排除我们拥有相同的电话号码。 请参见空值。
DBF文件格式将NULL等于0或空字符串。
EMPTY()函数应该已经起作用。 当我跑步时:
选择*从托管的First_Name ='Marulla'和空(VIP_Status);
针对\ Advantage ??。?\ Help \ ADS_DATA下的示例数据,我得到了正确的答案。
能否提供有关文件格式,预期结果以及收到的结果或错误的更多详细信息?
Mike Loop 高级产品支持工程师 SAP产品支持
谢谢。
从DEMO中选择*,其中PARNR = 20 AND TXTFLD IS NULL不起作用。 我们将.adt文件格式与ADsDatarReader一起使用。 该表包含20行,这些行具有未设置的字段值,字段TXTFLD的PARNR = 20。
从DEMO中选择*,其中PARNR = 20 AND Empty(TXTFLD)提供4个匹配项。从* DEMO中选择*,其中PARNR = 20 AND TXTFLD <>'X'提供11个匹配项。 20 AND TXTFLD =''提供0次点击 Juergen Knauf
>>使用IS NULL会发生什么? 收到错误消息吗? 如果是,那是什么错误?没有错误!
>>我创建了一个名为DEMO的表,其中包含一个名为PARNR a PARNR Integer和TXTFLD CHAR 1的整数字段
>>从DEMO WHERE PARNR = 20;中选择ASCII(TXTFLD); 将出现所有20行,但11行的值为32,而9行的值为零。
会发生什么 什么时候使用IS NULL? 你有错误吗? 如果是,那是什么错误?
您正在使用什么数据类型? 我创建了一个名为DEMO的表,该表具有一个名为PARNR的整数字段和一个名为TXTFLD的备注字段。 我输入了20行,但TXTFLD没有值。
SELECT * FROM DEMO WHERE PARNR = 20 AND TXTFLD IS NULL;
返回20行。
表中是否存在TXTFLD不为空的行? 11是否都是非空且不是'X'的正确行数?
您的表有主键吗?
如果您运行
从DEMO WHERE PARNR = 20;中选择ASCII(TXTFLD);
所有空行都返回0吗?
这听起来好像是错误的行为,但我无法重现。 如果您可以提供不包含任何敏感数据的示例表,我会将其提交给我们的开发人员进行调查。
最多设置5个标签!
您尝试过
从DEMO中选择*,其中PARNR = 20 AND TXTFLD为NULL
?
如果您使用的是ADT或VFP表,并且您的空白字段是真正的空白(而不是空格或零),则该值为NULL。 任何针对NULL的相等性或不相等性测试都将失败。 如果我的电话号码和您的电话号码在数据库中均为NULL,则并不意味着我们拥有相同的电话号码。 这也不排除我们拥有相同的电话号码。 请参见空值。
DBF文件格式将NULL等于0或空字符串。
EMPTY()函数应该已经起作用。 当我跑步时:
选择*从托管的First_Name ='Marulla'和空(VIP_Status);
针对\ Advantage ??。?\ Help \ ADS_DATA下的示例数据,我得到了正确的答案。
能否提供有关文件格式,预期结果以及收到的结果或错误的更多详细信息?
Mike Loop
高级产品支持工程师
SAP产品支持
谢谢。
从DEMO中选择*,其中PARNR = 20 AND TXTFLD IS NULL不起作用。
我们将.adt文件格式与ADsDatarReader一起使用。
该表包含20行,这些行具有未设置的字段值,字段TXTFLD的PARNR = 20。
从DEMO中选择*,其中PARNR = 20 AND Empty(TXTFLD)提供4个匹配项。
从* DEMO中选择*,其中PARNR = 20 AND TXTFLD <>'X'提供11个匹配项。 20 AND TXTFLD =''提供0次点击
Juergen Knauf
>>使用IS NULL会发生什么? 收到错误消息吗? 如果是,那是什么错误?
没有错误!
>>我创建了一个名为DEMO的表,其中包含一个名为PARNR a
PARNR Integer和TXTFLD CHAR 1的整数字段
>>从DEMO WHERE PARNR = 20;中选择ASCII(TXTFLD);
将出现所有20行,但11行的值为32,而9行的值为零。
会发生什么 什么时候使用IS NULL? 你有错误吗? 如果是,那是什么错误?
您正在使用什么数据类型? 我创建了一个名为DEMO的表,该表具有一个名为PARNR的整数字段和一个名为TXTFLD的备注字段。 我输入了20行,但TXTFLD没有值。
SELECT * FROM DEMO WHERE PARNR = 20 AND TXTFLD IS NULL;
返回20行。
表中是否存在TXTFLD不为空的行? 11是否都是非空且不是'X'的正确行数?
您的表有主键吗?
如果您运行
从DEMO WHERE PARNR = 20;中选择ASCII(TXTFLD);
所有空行都返回0吗?
这听起来好像是错误的行为,但我无法重现。 如果您可以提供不包含任何敏感数据的示例表,我会将其提交给我们的开发人员进行调查。
一周热门 更多>