informatica - 不能在非空字段中放置空值
问题描述
我收到错误消息cannot place a null value in a not null field
。在目标表中,我拥有的非空字段是“INC”,这是我的 IF 语句
IIF(LTRIM(RTRIM(SUBSTR(HEADER_INFO,3,15)))='',NULL,LTRIM(RTRIM(SUBSTR(HEADER_INFO,3,15))))
如何编写此 IF 语句,使其不发送任何空值。第二个字段是生成的文件加载 ID,我认为根据文件加载表中的信息可以。
解决方案
您不能将空值插入到没有空约束的表中。在您的函数中,您正在检查 null 以及检索结果也为 null。代替 NULL,提供任何默认值。
IIF(LTRIM(RTRIM(SUBSTR(HEADER_INFO,3,15)))='',Default_Value, LTRIM(RTRIM(SUBSTR(HEADER_INFO,3,15))))
或者您可以使用过滤器转换并限制空值流入目标
推荐阅读
- google-sheets - Excel(Googel Sheets)公式仅在当前行之前的范围内查找值
- javascript - React 和 NextJS:模块解析失败:意外的令牌
- html - HTML/CSS 响应式导航栏和对齐
- c# - Xamarin Forms:如何从另一个 c# 类导航到另一个页面
- json - 伴随对象的 JSON 支持
- matlab - Matlab:两个三角方程组的符号求解器的重复结果?
- concurrency - 并发和终极线程组设置
- c# - 自定义文本框不绘图
- angular - Angular 6 和 PrimeNG p 表(表)
- python - 如何使用 Python 设置与 ssh 命令匹配的隧道(用于堡垒)?