我有一个以下格式的文本文件。
“ 01 |”“样本”“ |”“测试” |“”测试“” |“” 01“ |”“”“。
我通过将格式选项STRING_DELIMITER设置为'“'在Azure Synapse中创建了一个外部表。但是在通过sp处理文件时,出现了以下错误。
“在字符串定界符之后找不到定界符”
有没有解决方案?任何帮助将不胜感激。
关于, 桑迪普
我有一个以下格式的文本文件。
“ 01 |”“样本”“ |”“测试” |“”测试“” |“” 01“ |”“”“。
我通过将格式选项STRING_DELIMITER设置为'“'在Azure Synapse中创建了一个外部表。但是在通过sp处理文件时,出现了以下错误。
“在字符串定界符之后找不到定界符”
有没有解决方案?任何帮助将不胜感激。
关于, 桑迪普
在我使用该示例字符串进行的测试中,引号引起了问题,因为引号是如此不均匀。您最好不使用引号创建外部表,然后再清理引号,例如,设置外部文件格式如下:
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
我的结果:
, CREATE EXTERNAL FILE FORMAT
在列的值内不支持STRING_DELIMITER字符。