点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
版本:SAP HANA版本(fa/hana1sp12)
错误:
有一个记录为DATE数据类型列,该列的值为NULL。 然后,当我使用过滤器DATE IS NULL条件命令SQL语句时,系统判断它是有效值而不是无效值。
例如:
### [应该正确,但系统认为不正确。]
从表WHERE ORDER_NUMBER = number中选择RELEASE_DATE,并且release_date为空;
### [应该是错误的,但是系统认为它是正确的。]
-
从表WHERE ORDER_NUMBER = number中选择RELEASE_DATE,然后release_date ='00000000';
-
从表WHERE ORDER_NUMBER = number'中选择RELEASE_DATE,然后release_date ='';
-
从表WHERE ORDER_NUMBER = number中选择RELEASE_DATE,并且release_date不为空;
(4.1 kB)
您似乎在这里误解了不同语句的结果,因为HANA Studio会将所有结果呈现为问号。 通常,问号用于指示NULL值,但是,它也用于无法从HANA正确映射到JAVA/JDBC的值。
此类"不可映射"值之一是特殊日期 可以创建例如 按日期'000000'。
此值既不是可以映射到JAVA日历的有效日期,也不是NULL。 这是一个特殊的日期,表示"早于任何其他日期",并用作日期列的初始值。
IS NULL对该值的求值为FALSE-但<,=,>比较的工作原理为
一种仔细检查列中实际值的方法是使用NON-JDBC客户端(例如hdbsql)来查看数据。
然后 ...
问题:
1。 为什么剂量数据库引擎将空白和" 00000000"视为相同?
2。 如何查看数据库中的REALLY值? JDBC,ODBC和.NET驱动程序为列返回NULL值。 您如何推荐方法?
谢谢。
嗨,建坤,
我认为您需要在其他地方报告此情况。 转到 https://launchpad.support.sap.com 并创建票证。
亲切的问候
一周热门 更多>