【问题标题】:how to remove duplicates in a row using sqlite having numbers which contains special characters如何使用具有包含特殊字符的数字的sqlite删除行中的重复项
【发布时间】:2016-03-08 07:58:36
【问题描述】:

我有一个类似于Find the number of duplicates in a row using sqlite 的问题,只是列中提到的数字也可能包含括号。例如:

名称 Num0 Num1 Num2 Num3 Num4 Num5 Num6 Num7 1)约翰 (12)34 1234 (123)4 2)赫巴尔234 3)吉姆 (9)876 9876 (9876) 4)金 111 111 111 5)凯特666

现在,当我运行 sqlite 查询时,我应该分别得到 John、Jim 和 Kim 的结果。 我正在为我的项目使用 C 语言。

非常感谢。

【问题讨论】:

  • 去掉replace()的括号。
  • @CL.FYI .. 即使我使用替换命令,我也不应该将其更新到我的 sqlite 数据库中。我应该只得到我作为 John、Jim 和 Kim 的查询的结果。
  • replace() 不是命令而是函数。我没有告诉你使用 UPDATE。
  • @CL.你能帮我解决一下查询吗?一旦我能得到名字,我就有自己的合并逻辑来处理删除重复项。我需要查询来获取与其行有重复数字的名称的数量。

标签: sqlite


【解决方案1】:

要删除括号,请使用replace() 将它们替换为空字符串:

SELECT replace(replace(Num0, '(', ''), ')', '') AS Num0_without_parens,
       ...
FROM MyTable;

然后可以进一步处理,如链接问题所示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2020-02-04
    • 2022-11-03
    • 1970-01-01
    • 2016-08-23
    • 2012-12-30
    • 1970-01-01
    相关资源
    最近更新 更多