我正在尝试使用下面的查询将一个表导出为GCP Csv文件
EXPORT DATA
OPTIONS ( uri = 'gs://Filepath/Filename*.csv',
format = 'CSV',
OVERWRITE = TRUE,
header = TRUE,
field_delimiter = ',')
AS (
SELECT {Columns}
FROM `tablename` order by {Columns} limit 10
);
在这里我们可以看到,我们可以指定field_delimeter,但不能设置textqualifier/escap char -因为根据文档
,它没有这个功能如何克服这个问题?如何使完美的CSV导出从大查询到GCS?
字符串或字节字量用双"
或单'
引号括起来,也用三个单'''
或三个双"""
引号括起来,也可以分类为text qualifier
。它基于词法结构和语法文档。
对于转义char,您可以在指定字符之前使用REGEXP_CONTAINS
和backslash()
来转义char。下面是一个简单的语法:
SELECT
{column}
FROM
`projectname.datasetname.tablename`
WHERE REGEXP_CONTAINS(message, r".")
在这个示例代码中,点(.)将被读取为文字值而不是表达式。