You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Azure Synapse中FIELDQUOTE工作机制的理解是否正确?

Azure Synapse OPENROWSET CSV解析测试与疑问

初始测试场景

我用Azure Synapse查询以下CSV文件:

1,"A","G"
2,"B","H"
3,"C","I"
4,"D","J"
5,"E,F","K"

对应的T-SQL查询语句:

SELECT *
FROM
    OPENROWSET(
        BULK 'taxi/raw/Sample.csv',
        DATA_SOURCE = 'nyc_taxidata',
        FORMAT = 'CSV',
        PARSER_VERSION = '2.0',
        FIRSTROW=2,
        FIELDTERMINATOR = ',',
        ROWTERMINATOR = '\n',
        FIELDQUOTE = '"'
    )
    AS [result]

查询输出:

C1   C2   C3
1    A    G
2    B    H
3    C    I
4    D    J
5    E,F  K

修改CSV后的测试

随后修改CSV文件,在字母G前添加冒号:

1,"A",:"G"
2,"B","H"
3,"C","I"
4,"D","J"
5,"E,F","K"

得到的输出:

C1   C2   C3
1    A    :"G"
2    B    H
3    C    I
4    D    J
5    E,F  K

关于FIELDQUOTE的结论

基于上述测试,我得出以下结论:

  • 查询会逐字符扫描每行,寻找FIELDQUOTE或FIELDTERMINATOR;若先找到FIELDQUOTE,则会忽略后续的FIELDTERMINATOR,直到找到下一个FIELDQUOTE(基于最后一行得出)。
  • 若要FIELDQUOTE正常工作,其前必须紧跟FIELDTERMINATOR(基于第二个示例的第一行得出)。

不确定这些结论是否正确,希望得到反馈。

后续测试异常情况

测试1

使用以下CSV文件执行上述查询:

1,"A"":",G
2,"B","H"
3,"C","I"
4,"D","J"
5,"E,F","K"

返回结果:

C1   C2  C3
1    A":  G
2    B    H
3    C    I
4    D    J
5    E,F  K

测试2:带表头的CSV错误场景

尝试使用带表头的CSV文件:

Number,Letter
1,"A""":",G
2,"B","H"
3,"C","I"
4,"D","J"
5,"E,F","K"

遇到错误:

Error handling external file: 'Unexpected token ':' at [byte: 22]. Expecting tokens ',', ' ', or '"'. '. File/External table name: 'taxi/raw/Sample.csv'.

测试3:带表头的另一错误场景

尝试该CSV文件:

Number,Letter
1,"A":",G
2,"B","H"
3,"C","I"
4,"D","J"
5,"E,F","K"

同样得到错误:

Error handling external file: 'Unexpected token ':' at [byte: 20]. Expecting tokens ',', ' ', or '"'. '. File/External table name: 'taxi/raw/Sample.csv'.

测试4:带表头的异常解析场景

尝试该CSV文件:

Number,Letter
1,"A""",G
2,"B","H"
3,"C","I"
4,"D","J"
5,"E,F","K"

得到的结果:

C1   C2        C3
1    A"",G2,B"  H
3    C          I
4    D          J
5    E,F        K

请专业人士对我的结论及上述测试异常情况给予反馈。

内容的提问来源于stack exchange,提问作者user19670089

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 03:06:23