COALESCE不起作用,因为数据库表始终设置为" NOT NULL"

2020-08-25 15:13发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我有一个疑问-

我正在尝试使用COALESCE函数,但是它不起作用

它总是返回第一个值,即使表值是空白。

当我检查表时,我发现DB中的" NOT NULL"是" X",所以值永远不会为NULL

要检查这一点,即使我是否选择了"初始"标志X,我还是在SE11中创建了一个表,DB会自动设置" NOT NULL"

现在我有点困惑如何处理此问题,如何使用'coalesce'功能。

如果有人有任何想法,请清除我的疑问。

预先感谢

Ashish T。

1.jpg (36.3 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我有一个疑问-

我正在尝试使用COALESCE函数,但是它不起作用

它总是返回第一个值,即使表值是空白。

当我检查表时,我发现DB中的" NOT NULL"是" X",所以值永远不会为NULL

要检查这一点,即使我是否选择了"初始"标志X,我还是在SE11中创建了一个表,DB会自动设置" NOT NULL"

现在我有点困惑如何处理此问题,如何使用'coalesce'功能。

如果有人有任何想法,请清除我的疑问。

预先感谢

Ashish T。

1.jpg (36.3 kB)
付费偷看设置
发送
2条回答
Cikesha
1楼 · 2020-08-25 15:36.采纳回答

NOT_NULL标志仅与将新字段插入现有数据库表有关。

https://help.sap .com/http.svc/rc/abapdocu_751_index_htm/7.51/zh-CN/index.htm?file = abenddic_database_tables_init.htm

这并不表示该字段中不能有空值。 但是通常,您在字典中定义的数据库表中根本没有空值,并且ABAP可以访问该空表。

可能会出现空值,如下所述:

https://help.sap .com/http.svc/rc/abapdocu_751_index_htm/7.51/zh-CN/index.htm?file = abenopen_sql_null_values.htm

另请参见Open SQL中的COALESCE示例:

https://help.sap .com/http.svc/rc/abapdocu_751_index_htm/7.51/zh-CN/index.htm?file = abensql_expr_coalesce_abexa.htm

SKY徐
2楼-- · 2020-08-25 15:30

您最终如何获得所需的结果( 出生或如果出生日期是初始常数2017/01/01)?

一周热门 更多>