【问题标题】:How to modify query to remove double-quotes from all columns?如何修改查询以从所有列中删除双引号?
【发布时间】:2018-10-23 00:40:37
【问题描述】:

我运行了一个查询 - 其结果被放入 .csv 以供另一个程序运行:另一个程序在双引号上阻塞。所以,我通常只是在 Excel 中快速查找和替换,将所有双引号替换为空。

不过,我有一个新的边缘场景 - 这次的输出文件超过 2,000,000 行,这意味着我无法在 Excel 中打开它来进行查找和替换。

有没有一种相当直接的方法可以从查询结果中删除双引号?我的下意识反应是选择 CASE 或变量,但似乎都不是特别干净。

我没有发布查询,因为它超过 100 行,我想这里可能有一个一般概念。

想法?

【问题讨论】:

  • 数据长什么样?
  • 名称和地址字段可能包含错误的双引号。还有很多其他列/计算列,但只有名称/地址应该有双引号问题。出于隐私考虑,我可能不应该发布屏幕截图。
  • replace(address, '"', '') 会为你工作吗?
  • D'oh,是的,我认为 REPLACE 是我不知道的功能/将完美运行!你想把它作为答案让我选择吗?
  • 与单引号 ' 有什么关系?问题在于double quote

标签: sql sql-server tsql


【解决方案1】:

这是一个简单的例子

CREATE TABLE T
(
  Name    VARCHAR(45),
  Address VARCHAR(45)
);

INSERT INTO T VALUES
('"FirstName"', '"FirstAddress"');

SELECT *
FROM T;

SELECT REPLACE(Name, '"', '') Name,
       REPLACE(Address, '"', '') Address
FROM T;

或者更好地使用LEFT() 和RIGHT() 函数,例如"First"Address",确保只删除第一个和最后一个

SELECT LEFT(RIGHT(Name, LEN(Name) - 1), LEN(Name) - 2) Name,
       LEFT(RIGHT(Address, LEN(Address) - 1), LEN(Address) - 2) Address
FROM T;

退货

+-------------+----------------+
|    Name     |    Address     |
+-------------+----------------+
| "FirstName" | "FirstAddress" |
+-------------+----------------+


+-----------+--------------+
|   Name    |   Address    |
+-----------+--------------+
| FirstName | FirstAddress |
+-----------+--------------+

记住 REPLACE() 函数将删除找到的任何 "。

【讨论】:

  • 我没有这个数据库的写权限——但是是的,REPLACE 是我不知何故不知道存在的函数。谢谢。
【解决方案2】:

获得 .csv 文件后,通过过滤器运行它。

powershell -NoProfile -Command ^
    "Get-Content -Path '.\quotedtext.csv' |" ^
    "ForEach-Object{ $_.Replace('""','') }" >quotednot.csv

【讨论】:

  • 你读过有没有一种相当直接的方法可以从查询结果中删除双引号?我看不到这里从使用powershell的excel文件.
  • 是的,我读过这个问题。这是体面和直截了当的。查询结果位于 .csv 文件中。它删除所有引号字符。它不需要重写 SQL 并识别可能需要修复的每个字段。
【解决方案3】:

D'oh - REPLACE 功能可以完美地解决这个问题。因此,只需为每个选定字段REPLACE(FieldName,'"','') 删除所有双引号。

【讨论】:

    猜你喜欢
    • 2018-08-02
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2023-04-04
    • 2021-10-28
    • 2011-11-19
    相关资源
    最近更新 更多