gpt4 book ai didi

sql - 如何在 SQL 的 SELECT 语句中的多列中替换相同的内容?

转载 作者:行者123 更新时间:2023-12-04 21:44:11 26 4
gpt4 key购买 nike

我想做一个选择 我将 中的每个 (") 替换为 (\") 的语句多列 .现在我该怎么做?

是否可以在 SELECT 语句中使用 REPLACE 函数定位多个列?

我知道这是无效 代码,但只是为了形象化我的意思:

SELECT REPLACE(firstColumn, anotherColumn, '"', '\"') 
FROM testTable

当然是 不起作用 因为 REPLACE 函数只需要三个参数。

我真的需要这方面的帮助,因为我还没有找到任何对我有用的东西。

提前致谢!

[编辑 - 24.04.2012 - 16:20 UTC+01:00]

对于那些可能有类似问题的人,这是我的 解决方案 : 我使用正则表达式来构建我的 选择替换 如下所示的语句:
Regex: {(^[^, ]+,)}|( {[^, ]+,})|( {[^, ]+$})

为了使用它,您需要使用逗号和空格分隔的所有列,如下所示:
ID, Gender, Firstname, Lastname, Street, Zip, City, EMail, Age,
然后你需要一个工具(在我的例子中是 Visual Studio),它能够用标记表达式(在正则表达式中的 {} 括号之间)替换,并将其替换为如下内容:
REPLACE(\1\2\3 'replaceMe', 'withMe') AS \1\2\3
希望这可以帮助任何可能遇到类似问题的人。这可能不是最好的解决方案,但对我有用。感谢您的快速帮助!

最佳答案

我认为您唯一明智的选择是在每一列上单独使用替换。

SELECT
REPLACE(firstColumn, '"', '\"'),
REPLACE(secondColumn, '"', '\"')
FROM testTable

您可以对数据进行一些巧妙的旋转,以便只应用一次 REPLACE,但我看不出有什么好处。

如果您正在执行的实际替换非常复杂,那么您可以编写一个函数来执行此操作以节省代码困惑和重复。

关于sql - 如何在 SQL 的 SELECT 语句中的多列中替换相同的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10295047/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com