【问题标题】:How to add text between other text?如何在其他文本之间添加文本?
【发布时间】:2023-02-22 21:25:36
【问题描述】:

我正在尝试在表格中的其他文本之间添加文本。例如,该列是 varchar(10),它始终包含 8 个字符的文本。我想制作一个在第六个和第七个字符之间添加两个零 (00) 的过程。

例如:
'gr123465' 变成 'gr12340065'

我不知道这样做的声明。我知道 lpad 和 rpad,但我认为它们不会有帮助。

我还没有尝试任何东西,因为我找不到这样做的声明。也许||?我不知道。我不太擅长 SQL。

【问题讨论】:

    标签: sql concatenation firebird firebird2.5


    【解决方案1】:

    您可以为此使用 OVERLAY function

    select overlay(data placing '00' from 7 for 0)
    from (select 'gr123465' as data from rdb$database)
    
    -- Result is: gr12340065
    

    (dbfiddle:https://dbfiddle.uk/ZD9tB8VC

    overlay(data placing '00' from 7 for 0) 将在data 的第七个字符位置插入文本00for 0 表示不应覆盖后面的文本,但应插入新值。

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 2021-02-07
      • 2022-07-06
      • 2023-02-03
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多