SQL撇号
如何在SQL中生成包含空字符串的字符串:“” 我试过这个: 声明@TEST NVARCHAR(50)、@COL1 NVARCHAR(50)、@COL2 NVARCHAR(50) 选择@COL1='A',@COL2='B' 选择@TEST='选择'['+@COL1+'],''['+@COL2+']' 选择@TEST 但是字符串最终看起来像: 选择“[A]”、“[B] 当它需要看起来像: 选择“”[A]、“”[B]SQL撇号,sql,apostrophe,Sql,Apostrophe,如何在SQL中生成包含空字符串的字符串:“” 我试过这个: 声明@TEST NVARCHAR(50)、@COL1 NVARCHAR(50)、@COL2 NVARCHAR(50) 选择@COL1='A',@COL2='B' 选择@TEST='选择'['+@COL1+'],''['+@COL2+']' 选择@TEST 但是字符串最终看起来像: 选择“[A]”、“[B] 当它需要看起来像: 选择“”[A]、“”[B] 谢谢。SQL中字符串中的两个单引号被视为单转义单引号,因此为了在输出中生成两个单引号
谢谢。SQL中字符串中的两个单引号被视为单转义单引号,因此为了在输出中生成两个单引号,您需要在输入中放入4,如下所示:
SELECT @TEST = 'SELECT '''' ['+ @COL1 + '], '''' [' + @COL2+ ']'
SQL中字符串中的两个单引号被视为单个转义单引号,因此为了在输出中生成两个单引号,需要在输入中放入4,如下所示:
SELECT @TEST = 'SELECT '''' ['+ @COL1 + '], '''' [' + @COL2+ ']'
好的,快速的答案是:
''”
(将它们加倍)
e、 g.选择“XX”“XX”
→ <代码>XX''XX
我就不说了,因为“你为什么要那样做”这一部分让我很紧张。好吧,快速的回答是:
''”
(把它们加倍)
e、 g.选择“XX”“XX”
→ <代码>XX''XX
我就到此为止,因为“为什么要那样做?”“这部分让我非常紧张。不需要串联字符串
SELECT @COL1, @COL2
应该足够了。参数@COL1和@COL2将自动替换为实际值
但是,不能像这样动态声明列名。上的参数代表值。通常你会这样做:
SELECT [Name] FROM mytable WHERE ID=@id
如果要动态更改列名,则根本不使用撇号:
SET @sql = 'SELECT [' + @COL1 + '], [' + @COL2 + ' FROM mytable';
EXECUTE sp_executesql @sql;
您不需要连接字符串
SELECT @COL1, @COL2
应该足够了。参数@COL1和@COL2将自动替换为实际值
但是,不能像这样动态声明列名。上的参数代表值。通常你会这样做:
SELECT [Name] FROM mytable WHERE ID=@id
如果要动态更改列名,则根本不使用撇号:
SET @sql = 'SELECT [' + @COL1 + '], [' + @COL2 + ' FROM mytable';
EXECUTE sp_executesql @sql;
你需要了解:1。二,。你需要了解:1。二,。谢谢,但我正在尝试生成一个SQL字符串,它将在执行时选择一个空字符串以及列别名(参数)。我不想只选择参数值。谢谢,但我正在尝试生成一个SQL字符串,它将在执行时选择一个空字符串以及列别名(参数)。我不想只选择参数值。