Как к пользовательскому префиксу 'N' для unicode с nvarchar переменной в SQL Server? Например:
Учитывая эту переменную:
declare @Query1 nvarchar(max)
Я могу присвоить ему как это:
set @Query1 = N'لاحظات'
Но что, если я хочу использовать N@Query1
где-нибудь?
Вам нужно использовать 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
Он используется со строковыми литералами, чтобы указать, что текст должен обрабатываться как юникод. например,
DECLARE @something NVARCHAR(100)
SET @something = N'sometext'
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