gpt4 book ai didi

sql - 使用导入命令的 db2 表中非空列中的空格

转载 作者:行者123 更新时间:2023-12-04 05:14:23 25 4
gpt4 key购买 nike

我在两个结构相同的不同数据库中有两个表。

我将一个表导出到 .dat 文件中,然后使用 db2 import 命令将其导入到另一个表中:

import from $TEMP_DIR/TO_IMPORT.dat of del modified by dateformat=\"YYYY-MM-DD\" timeformat=\"HH:MM:SS\" timestampformat=\"YYYY-MM-DD HH:MM:SS.UUU\" chardel0x01 coldel|  COMMITCOUNT 1000 messages $LOG_DIR/to_import.log insert into MY_SCHEMA.MY_TABLE

TO_IMPORT.dat 中的一行如下:
col1_val|col2_val|col3_val|col4_val|col5_val

分隔符是“|”

col1、col2、col3 是源表和目标表中的 NOT NULL 列。

但是,在源表中,在某些行中,col2 和 col3 中有空格而不是字符值。

这些都在 .dat 文件中,如下所示:
abc| | |def|pqr

现在,在导入上述行的过程中,这些空间被视为 NULL,因此在尝试在目标表的非空列中插入空值时,一切都失败了。

此问题的解决方案/解决方法是什么?

感谢阅读!

最佳答案

您可以使用选项 KEEPBLANKS,它不会将空格视为 NULL。

来自 IBM DB2 文档:

KEEPBLANKS - 在 CHAR、VARCHAR、LONG VARCHAR 或 CLOB 类型的每个字段中保留前导和尾随空白。如果没有这个选项,所有不在字符定界符内的前导和尾随空格都将被删除,并且 对于所有空白字段,将 NULL 插入到表中。

关于sql - 使用导入命令的 db2 表中非空列中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14473295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com