Azure Synapse-字符串定界符

我有一个以下格式的文本文件。

“ 01 |”“样本​​”“ |”“测试” |“”测试“” |“” 01“ |”“”“。

我通过将格式选项STRING_DELIMITER设置为'“'在Azure Synapse中创建了一个外部表。但是在通过sp处理文件时,出现了以下错误。

“在字符串定界符之后找不到定界符”

有没有解决方案?任何帮助将不胜感激。

关于, 桑迪普

jsftgkafgjag 回答:Azure Synapse-字符串定界符

在我使用该示例字符串进行的测试中,引号引起了问题,因为引号是如此不均匀。您最好不使用引号创建外部表,然后再清理引号,例如,设置外部文件格式如下:

CREATE EXTERNAL FILE FORMAT ff_pipeFileFormat
WITH (
    FORMAT_TYPE = DELIMITEDTEXT,FORMAT_OPTIONS (
        FIELD_TERMINATOR = '|',--STRING_DELIMITER = '"',-- removed
        USE_TYPE_DEFAULT = FALSE
        )
);

使用REPLACE清除引号,例如:

SELECT 
    REPLACE( a,'"','' ) a,REPLACE( b,'' ) b,REPLACE( c,'' ) c,REPLACE( d,'' ) d,REPLACE( e,'' ) e,REPLACE( f,'' ) f
FROM dbo.yourTable

我的结果:

My results

,

CREATE EXTERNAL FILE FORMAT在列的值内不支持STRING_DELIMITER字符。

https://feedback.azure.com/forums/307516-sql-data-warehouse/suggestions/9882219-fix-string-delimiter-implementation-in-polybase

本文链接:https://www.f2er.com/2597451.html

大家都在问