Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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
Sql 使用新行字符红移将数据卸载到s3_Sql_Database_Amazon S3_Amazon Redshift - Fatal编程技术网

Sql 使用新行字符红移将数据卸载到s3

Sql 使用新行字符红移将数据卸载到s3,sql,database,amazon-s3,amazon-redshift,Sql,Database,Amazon S3,Amazon Redshift,我正在尝试使用unload命令将表从红移导出到s3 命令: unload ('SELECT * FROM table where id = 4') TO 's3://path/temp/table1' credentials 'aws_access_key_id="ahsvdgsfadhsagdffjh;aws_secret_access_key=ahgsdasdhgsahdgsahdgsahdgsahgsa' delimiter '|' NULL AS '\\N' escape; 我表格中

我正在尝试使用unload命令将表从红移导出到s3 命令:

unload ('SELECT * FROM table where id = 4') TO 's3://path/temp/table1'
 credentials 'aws_access_key_id="ahsvdgsfadhsagdffjh;aws_secret_access_key=ahgsdasdhgsahdgsahdgsahdgsahgsa' delimiter '|' NULL
AS
'\\N' escape;
我表格中的一个字段包含新行,因此生成的csv将分成两行


是否有方法将新行替换为\n或添加行尾字符

您应该删除
转义
,然后尝试
添加引号
选项,它将生成正确的CSV。As
将指示您的CSV阅读器将
\n
视为逐字逐句,而不是
换行

UNLOAD ('SELECT * FROM table where id = 4') 
TO 's3://path/temp/table1'
credentials aws_access_key_id="ahsvdgsfadhsagdffjh;
    aws_secret_access_key=ahgsdasdhgsahdgsahdgsahdgsahgsa' 
delimiter '|' 
NULL AS '\\N' ADDQUOTE;

已尝试添加引号所有字段都已用引号括起来,但仍会创建新行是的,新行将保留,我认为您不希望将其全部删除。对的否则,它将更改您的实际数据。但是,当您使用
MSExcel
打开CSV时,单元格数据将正常可见
它不会显示为新记录
。实际上,我必须使用LOAD DATA LOCAL Infle将其导入mysql。出于此目的,它不起作用事实上更容易,因为mysql导入确实支持它,请使用“
类似于
的选项将数据本地填充“$file”加载到以“,”结尾的表$TABLE字段中,也可以选择以“,”结尾的行,以“\r\n”结尾的行忽略1行”