1

我正在用 SQR 编写一份报告,它会生成一个 CSV 输出文件。在测试时,我遇到了一个实例,其中在我的一个字段中使用了以下字符串:

桌子 - 210" X 60" X 29",橡木,

我目前在字符串周围有双引号。当我使用这种方法时,产生的输出是这样的:

第 1 列 |第 2 列|第 3 列

桌子 - 210 X 60" X 29" | 橡木 | ,

显然,整行应该适合第一列。

我知道可以使用其他分隔符,但更愿意保留逗号分隔符。有谁知道解决这个问题的方法?

这是当前代码的简化版本:

Let $asset_descr = '"' || &dep_asset.descr || '"'
Let $string = $asset_descr
Write 1 from $string 
4

1 回答 1

2

经过大量的搜索和测试,我终于解决了这个问题。为了解决这个问题,我简单地将每个双引号替换为两个双引号。有两个双引号将双引号视为“转义值”......我猜这意味着双引号不会像封闭引号一样对待。

这可能是 SQR 特定的解决方案。

简化代码解决方案:

Let $asset_descr = '"' || Replace(&dep_asset.descr, '"', '""') || '"'
Let $string = $asset_descr
Write 1 from $string 
于 2013-08-14T20:05:23.487 回答