Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon redshift 如何在红移复制命令中将十进制分隔符从逗号更改为fullstop_Amazon Redshift - Fatal编程技术网

Amazon redshift 如何在红移复制命令中将十进制分隔符从逗号更改为fullstop

Amazon redshift 如何在红移复制命令中将十进制分隔符从逗号更改为fullstop,amazon-redshift,Amazon Redshift,我使用的是以逗号作为十进制分隔符的原始数据,而不是fullstop 3,99,而不是3.99。有没有一种方法可以直接在redshift copy命令中进行转换,而不必先上传,然后再进行更改?有两个问题需要考虑: 字段分隔符 替换字符 Amazon Redshift命令中的默认分隔符是管道字符|,除非使用CSV选项,在这种情况下,默认分隔符是逗号 因此,如果您的文件由非逗号字符(如pip |符号)分隔,则数字中的逗号不会在字段之间分割 至于将逗号转换成十进制,这是不可能的。您需要将该字段作为字符串

我使用的是以逗号作为十进制分隔符的原始数据,而不是fullstop 3,99,而不是3.99。有没有一种方法可以直接在redshift copy命令中进行转换,而不必先上传,然后再进行更改?

有两个问题需要考虑:

字段分隔符 替换字符 Amazon Redshift命令中的默认分隔符是管道字符|,除非使用CSV选项,在这种情况下,默认分隔符是逗号

因此,如果您的文件由非逗号字符(如pip |符号)分隔,则数字中的逗号不会在字段之间分割

至于将逗号转换成十进制,这是不可能的。您需要将该字段作为字符串加载,然后运行UPDATE命令将该字符串复制到一个数字字段中,并进行一点字符替换


或者,尝试在加载到Redshift(如通过sed)之前预处理文件,以便在加载到Redshift之前文件是干净的。

有两个问题需要考虑:

字段分隔符 替换字符 Amazon Redshift命令中的默认分隔符是管道字符|,除非使用CSV选项,在这种情况下,默认分隔符是逗号

因此,如果您的文件由非逗号字符(如pip |符号)分隔,则数字中的逗号不会在字段之间分割

至于将逗号转换成十进制,这是不可能的。您需要将该字段作为字符串加载,然后运行UPDATE命令将该字符串复制到一个数字字段中,并进行一点字符替换

或者,尝试在加载到Redshift之前对文件进行预处理,例如通过sed,以便在加载到Redshift之前文件是干净的