-5

我现在面临一个问题.. 如果查询本身包含括号之类的代码怎么办foofoo被替换为声明结果值,例如@foo

当 O 想要打印容器中的内容@foo而不是 'foo' 时,我应该使用'@foo'但 sql 将其读取为 '@foo' 并忽略它,@因为它位于 ' 和 ' 之间

在 c# 中像往常一样,我确实使用 "'"+@foo+"'" 现在在 sql 中没有 ID 为 " 所以我们使用 '

当我使用'''+@foo+'''它不读取。尽管在 c# 中我们在括号之间使用了 \ 之类的东西来完成它,但 sql 不会读取

在这种情况下我该怎么办?

问题和查询本身的图像:

问题

4

1 回答 1

2

听起来你想转义单引号。

为此,您需要将它们加倍!

DECLARE @foo char(1);
    SET @foo = 'A';

SELECT '''' As a_single_quote
     , '''''' As a_pair_of_single_quotes
     , '''' + 'TEST' + '''' As escaped_string
     , '''' + @foo + '''' As with_a_variable
于 2013-09-17T15:02:30.193 回答