1

SQL Server では、次のように Unicode 文字列リテラルを示します。

declare @s nvarchar(max)
select @s = N'test'

ただし、二重引用符を使用することもできます...したがって、これを行うことができるはずです:

set quoted_identifier off
declare @s nvarchar(max)
select @s = N"test"

しかし、私は間違っています:

メッセージ 102、レベル 15、状態 1、行 2 'test' 付近の構文が正しくありません。

正しいフォームは何ですか?

4

2 に答える 2

0

T-SQL では、二重引用符を使用して Unicode 文字列を区切ることはできません。

だから何?あなたが解決しようとしている問題は何ですか?

単一引用符を 2 倍にすることで、Unicode 文字列内に埋め込むことができます。

SELECT N'This isn''t a problem'
于 2012-09-17T22:17:59.727 に答える
0

T-SQL では、角かっこ [] を使用できるのと同じように、二重引用符を使用して SELECT ステートメントで列の名前を指定できます。

比較

select 1 as "value x"
select 1 as [value x]

どちらも という名前の列になりますvalue x

文字列リテラルの場合、'' と N'' のみを使用できます。

ニコラからのコメント後の更新

T-SQL 定数に関するMSDN ページでは、「文字列定数」についてのみ QUOTED_IDENTIFIER/二重引用符/一重引用符の動作について言及していますが、「Unicode 文字列」のセクションではN''表記のみを参照しています。

于 2012-09-17T22:01:12.720 に答える