如何在SQL Server中使用nvarchar变量为unicode添加前缀'N'?例如:
鉴于此变量:
declare @Query1 nvarchar(max)
我可以这样分配:
set @Query1 = N'لاحظات'
但是,如果我想在某个地方使用N@Query1
该怎么办?
答案 0 :(得分:8)
当你有文字文字时,你只需要使用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
答案 1 :(得分:0)
它与字符串文字一起使用,表示文本应被视为unicode。例如
DECLARE @something NVARCHAR(100)
SET @something = N'sometext'
答案 2 :(得分:0)
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
答案 3 :(得分:0)
declare @nv1 nvarchar(50) = N'لاحظات', @nv2 nvarchar(50) = 'لاحظات', @v varchar(50) = N'لاحظات'
declare @nv3 nvarchar(50) = @nv1 + ' hallo', @nv4 nvarchar(50) = @nv1 + N' hallo'
select @nv1, @nv2, @nv3, @nv4, @v
答案 4 :(得分:0)
感谢marc_s的回答,这解决了我的问题。 对于那些找不到它的人,我在这里重点介绍它。
” 如果@ Query1是一个NVARCHAR变量,则它是一个NVARCHAR变量,您无需在其前面加上另一个'N'即可使其成为NVARCHAR。...只需使用它 “