关于ASCII()函数 |
您所在的位置:网站首页 › 什么是asc-h › 关于ASCII()函数 |
例如: SELECT ASCII(123) as'123',ASC('123') as '"123"',ASCII('abc')as '"abc"' 的返回值是 49 49 97 该函数返回的是字符表达式最左端字符的ASCII代码值 问题点: 1。ASCII(123) 的最左端是“1”,应该返回的是“1”呀,为什么是"49"? 2。ASCII('123') 的最左端是“'”,为什么是"49"? 3。ASCII('abc,) 的最左端是“'”,为什么是"97"?
ASCII 返回字符表达式最左端字符的 ASCII 代码值。 ASCII(123) 因为ASCII处理字符串,所以123转换成字符串,1的ASCII是49 后面的就不用说了,'是字符串的定界符,所以不在计算范围内
汉字的ascii码: 取高位的8位运算后除以256 移位操作不一定要用移位运算来做,可以利用除法,右移8位相当于除以256 比如"烫"字的高8位为204,低八位为204 declare @bytes binary(2) set @bytes=convert(binary,'烫') --低8位的10进制值 print 0x00FF & cast(@bytes as int) --高8位的10进制值 print (0xFF00 & cast(@bytes as int))/256 --结果 204 204 测试 select char(204)+char(204) --结果 ---- 烫
declare @bytes binary(2) set @bytes=convert(binary,'安') --低8位 print 0x00FF & cast(@bytes as int) --高8位 print (0xFF00 & cast(@bytes as int))/256 --结果 178 176 select char(176)+char(178) --结果 ---- 安
select unicode(N'大') ----- 22823
select Nchar(unicode(N'大')) -------- 大 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |