在SQL Server中替换字符串
我在下面有一个函数,还有输出,它基本上是在一个字符串中找到特定的字母,并用其他字母替换它们,例如在这个字符串abcde中,我想用xy替换de,所以我给出@input=abcde、@find=de和@replace=xy,所以我得到的输出是abcxy,但如果假设我有一顶弦帽,我想用m和c替换h和t,我该如何实现呢 我必须在函数中不使用while循环的情况下找到解决方案在SQL Server中替换字符串,sql,sql-server,string,function,Sql,Sql Server,String,Function,我在下面有一个函数,还有输出,它基本上是在一个字符串中找到特定的字母,并用其他字母替换它们,例如在这个字符串abcde中,我想用xy替换de,所以我给出@input=abcde、@find=de和@replace=xy,所以我得到的输出是abcxy,但如果假设我有一顶弦帽,我想用m和c替换h和t,我该如何实现呢 我必须在函数中不使用while循环的情况下找到解决方案 create FUNCTION dbo.replace_letters ( @Input AS VarChar(1000),
create FUNCTION dbo.replace_letters
(
@Input AS VarChar(1000),
@Find AS VarChar(100),
@Replace AS VarChar(100)
)
RETURNS VarChar(1000)
AS
BEGIN
SELECT @Input = REPLACE(@Input, @Find,@Replace)
return @input
end
--run
select dbo.replace_letters ('abcde', 'ed', 'dc')
最简单的方法是再次运行该函数:-
select dbo.replace_letters(dbo.replace_letters('hat', 'h', 'm'), 't', 'c')
最简单的方法是再次运行该函数:-
select dbo.replace_letters(dbo.replace_letters('hat', 'h', 'm'), 't', 'c')
试试这个:
它将替换@Find的第一个字符,并将其替换为@replace的第一个字符;替换@Find的第二个字符,并将其替换为@replace的第二个字符
CREATE FUNCTION dbo.replace_letters
(
@Input AS VARCHAR(1000),
@Find AS VARCHAR(100),
@Replace AS VARCHAR(100)
)
RETURNS VARCHAR(1000)
AS
BEGIN
SELECT @Input = REPLACE(REPLACE(@Input, SUBSTRING(@Find,1,1),SUBSTRING(@Replace,1,1)),SUBSTRING(@Find,2,1),SUBSTRING(@Replace,2,1))
RETURN @input
END
SELECT dbo.replace_letters('hat','ht','mc')
SELECT dbo.replace_letters('hahtaahtat','ht','xy')
答案是:
苹果
xaxyaaxyay试试这个:
它将替换@Find的第一个字符,并将其替换为@replace的第一个字符;替换@Find的第二个字符,并将其替换为@replace的第二个字符
CREATE FUNCTION dbo.replace_letters
(
@Input AS VARCHAR(1000),
@Find AS VARCHAR(100),
@Replace AS VARCHAR(100)
)
RETURNS VARCHAR(1000)
AS
BEGIN
SELECT @Input = REPLACE(REPLACE(@Input, SUBSTRING(@Find,1,1),SUBSTRING(@Replace,1,1)),SUBSTRING(@Find,2,1),SUBSTRING(@Replace,2,1))
RETURN @input
END
SELECT dbo.replace_letters('hat','ht','mc')
SELECT dbo.replace_letters('hahtaahtat','ht','xy')
答案是:
苹果
xaxyaaxyay只需运行
选择替换“帽子”、“H”、“M”、“T”、“C”
SQL Server提供了替换功能,那么为什么要编写自己的函数来执行相同的任务呢?只需运行
选择替换“帽子”、“H”、“M”、“T”、“C”
SQL Server提供了替换函数,那么为什么要编写自己的函数来执行相同的任务呢?为什么需要函数?为什么不直接使用替换功能?你不能解决的问题是什么?听起来不错,看起来不错?为什么不为所有需要执行的替换调用replace函数?为什么需要函数?为什么不直接使用替换功能?你不能解决的问题是什么?听起来不错,看起来不错?为什么不为所有需要执行的替换调用replace函数呢?