SQL Server特殊字符、上标、下标

2014-11-24 16:05:55 · 作者: · 浏览: 0
SQL Server特殊字符、上标、下标
先来记录下今天看到的一个比较好玩的东西,之前有见过一次,今天逛 论坛的时候又发现了(特殊字符的输入方法):
[sql] 
--ALT+小键盘0153=   
--ALT+小键盘0169=   
--ALT+小键盘0174=   
--ALT+小键盘0177=±  
--ALT+小键盘0178=   
--ALT+小键盘0179=   
--ALT+小键盘0188=   
--ALT+小键盘0189=    

下面进入正题,在SQL Server中对于字符串中含有上标或者下标的处理方法:
[sql] 
--创建测试表,NVARCAHR类型   
create table test01 (name nvarchar(100))   
  
--插入测试数据,这里就可以用到上面那个快捷键来输入这些字符了,这里先插入一个不带N''的   
insert into test01(name) values('1000± ');   
--再插入一个,这个时候带 N''  
insert into test01(name) values(N'1111± ');   
  
--查看下插入的结果:  
select * from test01   
--name  
--1000±   
--1111±   
  
--再来这样查询下看看,先不带 N''  
select name as name1000 from test01 where name='1000± '  
--name1000  
--1000±   
  
--带N''查下,无返回  
select name as name1000 from test01 where name=N'1000± '  
--name1000   
  
select name as name1111 from test01 where name='1111± '  
--name1111   
  
--带上N'',才能查出来  
select name as name1111 from test01 where name=N'1111± '  
--name1111  
--1111±   

其实,关键问题就出现在N‘’上面,name字段定义为nvarchar()类型的,所以可以存储特殊类型的字符如‘ ± ’,在插入或者查询的时候,这个N‘’是不能省去的。