关于ASCII()函数
来源:互联网 发布:航天科工 知乎 编辑:程序博客网 时间:2024/06/12 00:40
例如:
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'大'))
--------
大
- 关于ASCII()函数
- 关于ASCII
- 关于zeromemory函数 与ascii unicode的bug与困惑
- 关于ASCII问题
- 关于ASCII码
- 关于ASCII码
- 关于ASCII码
- 关于标准ASCII码
- 关于ASCII字符码
- 关于ASCII码
- hive函数 -- ascii
- Oracle ascii函数
- ASCII码表 & ASCII码转换函数
- 关于ASCII和Unicode字集
- 关于汉字与Ascii码
- 关于ascii,unicode,utf-8
- 关于GB2312的ASCII表示
- 关于汉字与Ascii码
- ZDJW浙大经纬纹织CAD5.0 --带锁
- 下拉列表struts
- TMA3.0铁塔放样制造软件 --带锁
- C#委托,事件理解入门 (译稿)
- Java生成验证码图片的程序
- 关于ASCII()函数
- 配置Apache域名
- 解决windows2003启用防火墙后MSFTPSVC无法登录的故障
- db2数据库从AIX操作系统移植到windows XP
- ASP.Net2.0使用Log4Net
- 如何在ASP.NET中使用三层架构
- db2 在一储存过程得到另一储存过程返回的结果集
- install IE 7 on Linux with wine
- db2中的循环语句