SQL Server中串联的最佳实践

本文关键字:最佳 Server SQL | 更新日期: 2023-09-27 18:28:40

我的行在某一列中有一个NVARCHAR值。我希望能够连接到这个值上,例如,如果行存储"Hello",我希望能够运行数据库。执行命令将"Hello"和标记保留在"my name is Earl"上,以便"Hello,my name is厄尔"存储在行中。

这样做的最佳做法是什么?

db.Execute("UPDATE table SET description = description + '--@0 likes this' WHERE id = @1",user, id);

这不接受参数,实际上是在数据库中插入了''0和@1。为什么会这样?

SQL Server中串联的最佳实践

只是猜测,但请尝试将@0从单引号中移出:

db.Execute(@"
    UPDATE table 
    SET description = description + @0 + ' likes this' 
    WHERE id = @1",user, id); 

如果您有一个表myTable,其中有一个要连接的消息列,并且行id为5。。。

UPDATE myTable
SET message = concat(message, N' my name is earl')
WHERE id = 5;  -- some where condition that identifies row(s)