0

我正在创建一个表达式,将多个字段组合到 SSRS 中的单个字段中。但是,当我导出到 CSV 时,一些记录会附加额外的双引号。我该如何解决?

原始数据:

SCode|BuildingNumber|StreetName|City|State|
---------------------------------------------
ABC|   |123 Street|New York   |NY|
DEF|   |456 Street|Los Angeles|CA|
IJK|123|7th Ave   |Chicago    |IL|
XYZ|   |789 Cir   |Atlanta    |GA|

我正在使用的表达式:

=Fields!SCode.Value & "#" & IIF(IsNothing(Fields!BuildingNumber.Value), Fields!StreetName.Value, Fields!BuildingNumber.Value & "\," & Fields!StreetName.Value) & "#" & Fields!City.Value & "#" & Fields!State.Value"

导出为 CSV 后的数据:

ABC#123 Street#New York#NY
DEF#456 Street#Los Angeles#CA
"IJK#123, 7th Ave#Chicago#IL"
XYZ#789 Cir#Atlanta#GA

谢谢!

4

1 回答 1

0

如果有分隔符(逗号)或某种返回章程,CSV 导出应该只在字段周围添加文本分隔符。

仅当值包含分隔符或值具有换行符时,才会添加文本限定符。

微软文档

检查您的文本是否有逗号、返回字符和换行符。

您的示例没有逗号,但它可能仍然有回车或换行。

SELECT * 
FROM TABLE 
WHERE FIELD LIKE '%' + CHAR(13) + '%'
    OR FIELD LIKE '%' + CHAR(10) + '%'

换行和返回字符是ASCII中的字符编号 10 和 13 。

于 2020-01-09T17:06:42.673 回答