Как к пользовательскому префиксу 'N' для unicode с nvarchar переменной в SQL Server?

Как к пользовательскому префиксу 'N' для unicode с nvarchar переменной в SQL Server? Например:

Учитывая эту переменную:

declare @Query1 nvarchar(max) 

Я могу присвоить ему как это:

set @Query1 = N'لاحظات'

Но что, если я хочу использовать N@Query1 где-нибудь?

8
задан Joel Coehoorn 14 May 2010 в 19:14
поделиться

3 ответа

Вам нужно использовать N'xyz 'только тогда, когда у вас есть буквальный текст. Когда данные nvarchar находятся в переменной или столбце набора результатов с типом данных nvarchar, вам больше не нужно использовать нотацию N '...', система знает тип данных в этой точке.

попробуйте:

DECLARE @A   nvarchar(100)
       ,@B   nvarchar(100)
SET @A = N'anything here!!'

SET @B=@A --would work the same if coming from a query result set as well

SELECT @B --will show special unicode characters
8
ответ дан 5 December 2019 в 20:14
поделиться

Он используется со строковыми литералами, чтобы указать, что текст должен обрабатываться как юникод. например,

DECLARE @something NVARCHAR(100)
SET @something = N'sometext'
0
ответ дан 5 December 2019 в 20:14
поделиться
Declare @var nvarchar(255)

Set @var = N'Hello World'
print @var

create table #tmp( columnA nvarchar(255) not null)
insert into #tmp(columnA) Values (N'Test')

Select @var = columnA from #tmp
print @var
drop table #tmp
0
ответ дан 5 December 2019 в 20:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: