我正在SQR中编写报告,生成CSV输出文件。在测试时,我遇到了一个实例,其中我的一个字段中使用了以下字符串:
表 - 210“X 60”X 29“,OAK,
我目前在字符串周围有双引号。当我使用这个方法时,产生的输出是:
Col 1 | Col 2 | Col 3
表 - 210 X 60“X 29”| OAK | ,
显然,整行应该适合第一列。
我知道可以使用其他分隔符,但更喜欢保留逗号分隔符。有谁知道解决这个问题的方法?
以下是当前代码的简化版本:
Let $asset_descr = '"' || &dep_asset.descr || '"'
Let $string = $asset_descr
Write 1 from $string
答案 0 :(得分:2)
经过大量的搜索和测试后,我终于解决了这个问题。 为了解决这个问题,我简单地用两个双引号替换每个双引号。有两个双引号将双引号视为“转义值”...我猜这意味着双引号不会被视为封闭引号。
这可能是特定于SQR的解决方案。
简化代码解决方案:
Let $asset_descr = '"' || Replace(&dep_asset.descr, '"', '""') || '"'
Let $string = $asset_descr
Write 1 from $string