Azure Synapse 无服务器 SQL 池 - 从带引号的字段中选择时出错
Azure Synapse Serverless SQL Pool - Error while selecting from quoted fields
我在 Azure Synapse 中使用 Serverless/OnDemand SQL Pool 从包含引用字段的 CSV 文件中进行选择时遇到错误。数据在字段中包含字段终止符 (,),但它用双引号引起来。即使我在数据中使用默认引号,我什至尝试明确指定 FIELDQUOTE。
我的文件包含如下数据
"number", "text"
1, "one"
2, "two"
11, "one, one"
12, "one, two"
我运行的SQL如下
SELECT
*
FROM
OPENROWSET(
BULK 'https://mydatalake.dfs.core.windows.net/data/test_quoted_fields.csv',
FORMAT = 'CSV',
PARSER_VERSION = '2.0',
FIELDQUOTE = '"',
FIELDTERMINATOR = ',',
HEADER_ROW = TRUE
) AS [result]
错误信息如下
Error handling external file: 'Quotes '' must be inside quoted fields at [byte: 10]. '. File/External table name: 'https://mydatalake.dfs.core.windows.net/data/test_quoted_fields.csv'
请注意,我 运行 使用 Serverless/ OnDemand SQL Pool.
的查询
有人可以帮忙吗?谢谢
ADLS 门户中的数据如下所示
处于编辑模式
预览模式
我看来,在 excel 中包含 .csv 并在上传到 ADLS 后会在引用的字段周围添加额外的“”,以便被视为字符串。而且看起来效果不错。
我在 Azure Synapse 中使用 Serverless/OnDemand SQL Pool 从包含引用字段的 CSV 文件中进行选择时遇到错误。数据在字段中包含字段终止符 (,),但它用双引号引起来。即使我在数据中使用默认引号,我什至尝试明确指定 FIELDQUOTE。
我的文件包含如下数据
"number", "text"
1, "one"
2, "two"
11, "one, one"
12, "one, two"
我运行的SQL如下
SELECT
*
FROM
OPENROWSET(
BULK 'https://mydatalake.dfs.core.windows.net/data/test_quoted_fields.csv',
FORMAT = 'CSV',
PARSER_VERSION = '2.0',
FIELDQUOTE = '"',
FIELDTERMINATOR = ',',
HEADER_ROW = TRUE
) AS [result]
错误信息如下
Error handling external file: 'Quotes '' must be inside quoted fields at [byte: 10]. '. File/External table name: 'https://mydatalake.dfs.core.windows.net/data/test_quoted_fields.csv'
请注意,我 运行 使用 Serverless/ OnDemand SQL Pool.
的查询有人可以帮忙吗?谢谢
ADLS 门户中的数据如下所示
处于编辑模式
预览模式
我看来,在 excel 中包含 .csv 并在上传到 ADLS 后会在引用的字段周围添加额外的“”,以便被视为字符串。而且看起来效果不错。