【问题标题】:Replace character in string column in SQL query替换 SQL 查询中字符串列中的字符
【发布时间】:2023-02-23 01:40:25
【问题描述】:

我正在尝试从 SQL 表中返回每一列,并在查询本身中将某个字符串列中的任何“/”替换为“_”,如下所示:

SELECT *,
       REPLACE(stringCol, '/', '_') AS stringCol
INTO [output]
FROM [input]
TIMESTAMP BY dateTimeColumn

问题是,原来的 stringCol 没有被覆盖,查看结果的唯一方法是创建一个新列。

任何人都知道如何强制用替换的变体覆盖原始列?

谢谢!:)

->这是一个天蓝色的流媒体作业<-

我根本无法更改源数据,我需要替换字符,以便为数据发送到的下一个位置更新查询结果。

【问题讨论】:

  • 执行更新而不是选择。
  • 您声明您需要替换和覆盖,而且您不能更改源数据 - 您的 cmets 是矛盾的,请准确说明您希望查询执行的操作。

标签: sql azure


【解决方案1】:

如果您尝试更新表本身,您可以使用:

UPDATE INPUT
SET stringCol = REPLACE(stringCol, '/', '_')

如果您只是想替换查询结果中的列,我建议列出 select * 语句产生的列并将 stringCol 替换为 REPLACE(stringCol, '/', '_') as stringCol

【讨论】:

    猜你喜欢
    • 2014-07-03
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 2020-06-09
    • 2012-07-10
    • 2019-04-16
    • 1970-01-01
    • 2011-10-05
    相关资源
    最近更新 更多