SQL Server 特殊字符 上标 下标

先来记录下今天看到的一个比较好玩的东西,之前有见过一次,今天逛论坛的时候又发现了(特殊字符的输入方法):

--ALT+小键盘0153=™
--ALT+小键盘0169=©
--ALT+小键盘0174=®
--ALT+小键盘0177=±
--ALT+小键盘0178=²
--ALT+小键盘0179=³
--ALT+小键盘0188=¼
--ALT+小键盘0189=½ 
下面进入正题,在SQL Server中对于字符串中含有上标或者下标的处理方法:

--创建测试表,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‘’是不能省去的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值