【问题标题】:Duplicate quotes in a postgres stringpostgres字符串中的重复引号
【发布时间】:2021-12-17 15:40:03
【问题描述】:

我有一个在数据库中生成新用户的函数。 我想检查电子邮件地址是否包含任何引号,如果包含,我想复制它们。

例如,我有以下电子邮件地址:test.o'test@test.com,我想将其转换为 test.o''test@test.com。

有人可以帮我解决这个问题吗? 谢谢

【问题讨论】:

    标签: sql postgresql sql-function


    【解决方案1】:

    假设您只期望一个单引号(而不是双引号或更多),您可以尝试使用简单的替换:

    UPDATE yourTable
    SET email = REPLACE(email, '''', '''''');
    

    【讨论】:

    • 也许为了更好地阅读和理解,您可以使用双引号,例如:REPLACE(email, "'", "''")
    • @ErgestBasha 好的,但我不会在那个 :-)引用你...双引号可能不被所有 SQL 引擎支持,所以我试着给出一个尽可能对 ANSI 友好的答案。
    • @ErgestBasha,Postgresql 不是将"'" 读取为列名吗?
    • 无论如何,我会添加WHERE email LIKE '%''%',以减少交易规模。
    • @jarlh 你说得对,我没有注意到 PostgreSQL 标签
    猜你喜欢
    • 2012-01-11
    • 2014-09-26
    • 2013-04-19
    • 2015-11-29
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    相关资源
    最近更新 更多