gpt4 book ai didi

mysql - SQL中的Replace Statement如何设置到查询字符串中?

转载 作者:行者123 更新时间:2023-11-28 23:56:21 24 4
gpt4 key购买 nike

这是我的问题..但我会展示示例以使其更简单

我有一个名为 usp_Replace 的存储过程。此 sp 将用空格替换引号。这是未将其设置为查询字符串的原始查询..

CREATE PROCEDURE usp_Replace 
@desc varchar(50)

AS
BEGIN

SET NOCOUNT ON;



SELECT '' + Replace(REPLACE(REPLACE(@desc, CHAR(13), ''), CHAR(10), ''),'"','') + ''

END

但是..我想将 select 语句设置为查询字符串,因为出于某种原因我将不得不使用条件语句但不会显示它,因为它不是问题的一部分。

这里..

ALTER PROCEDURE usp_Replace
@desc varchar(50)

AS
BEGIN

SET NOCOUNT ON;

DECLARE @query nvarchar(max)
DECLARE @condition nvarchar(max)

SET @condition = null
SET @query = ' SELECT '' + Replace(REPLACE(REPLACE('''+@desc+''', CHAR(13), ''), CHAR(10), ''),''"'','') + '' '

SET @query = @query + ISNULL(@condition,'')
EXEC sp_executesql @query

END

我在这方面遇到错误,导致有未闭合的引号。我真的对如何以及在何处放置单引号有疑问。

如果您遇到此问题或任何链接/建议,请提供帮助。我会很高兴了解它。谢谢。

最佳答案

您需要将字符串中的所有单引号括起来,包括空字符串。所以,'' 变成了 '''':

SET @query = 'SELECT Replace(REPLACE(REPLACE(@desc, CHAR(13), ''''), CHAR(10), ''''),'' " '', '''')  '

我不确定空字符串在开头和结尾做了什么,所以我只是删除了它们。

关于mysql - SQL中的Replace Statement如何设置到查询字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31577106/

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