在我的SQL Server存储过程中,我想这样做:
"hello xxx how are you"
其中xxx
是变量的值
我试过这个
CREATE PROCEDURE insertToPinTable
(@callerID VARCHAR (200),
@vAccount VARCHAR (200))
AS
BEGIN
DECLARE @textEnglish VARCHAR
textEnglish = CONCAT ( "hello", @vAccount)
INSERT INTO pinData([CallerID], [body], [processed])
VALUES (@callerID, @textEnglish, 0)
END
我收到错误
'textEnglish'
附近的语法不正确
似乎使用CONCAT
不正确,请帮助我
(如果我可以将vAccount的值插入hello
字,那么我可以将textEnglish的值插入字符串how are you
)
答案 0 :(得分:4)
CREATE PROCEDURE insertToPinTable
(
@callerID VARCHAR (200),
@vAccount VARCHAR (200)
)
AS
BEGIN
DECLARE @textEnglish VARCHAR(255) --missing length previously
set @textEnglish = 'hello'+ @vAccount --missing set keyword
INSERT INTO pinData([CallerID], [body], [processed]) VALUES (@callerID, @textEnglish, 0)
END
答案 1 :(得分:0)
如果您只想更改
中的字符串"hello xxx how are you"
到
"hello Mr. Smith how are you"
您可能会考虑更换占位符:
将字符串定义为模板:
DECLARE @template VARCHAR(100)='hello {Name} how are you?';
然后使用
SELECT REPLACE(@template,'{Name}','Mr. Smith');