对不起,我想要返回一个汉字的ANSI编码,使用ASCII()返回的编码与VBS中的ASC()返回的值并不一样。如:SQLSERVER:ASCII('彭') = 197
VBScript: ASC("彭") = -14867不知这两者有何区别。
VBScript: ASC("彭") = -14867不知这两者有何区别。
解决方案 »
- 怎么求指定日期所在月的第几周?
- 如何在统计中分类?
- 求一条SQL ,将多行合并成一列,中间用符号隔开????
- 请问哪里可以下到winxp和win98下能安装的中文版sqlserver2000?
- 数据库 'SD206N_2012年新帐套1_Data' 中提取的逻辑页 (1:160) 属于对象 '0',而非对象 'sysindexes'。
- 请问如何批量更改存储过程的所有者(回答到一半)
- sql server 存储过程 急 急 急 急
- SQL语句求助
- 存储过程中再执行存储过程就得不到其输出结果吗?
- 懂nt和SQL server 2000的高手请进
- 一个SQL语句问题,该怎么写呢?大力在吗?在线等待。。。
- 我租用的虚拟主机,里面的SQL日志可以下载吗?用SQL命令可以实现吗?
VB: Ascw("王")=29579
Sql:Unicode('王')=29579
不过我并没有把我要实现的功能告诉大家,这是我的错。我是想做一个把汉字词组转换成拼音首字的SQL Function,现在已经解决。脚本如下:create function getpychar(@HZ varchar(50))
returns varchar(25)
asbegin Declare @tmp binary(2)
Declare @Len int
Declare @PY varchar(25)
Declare @HZS varchar(2)
Declare @Index int Set @Index = 1
Set @Len = Len(@HZ)
Set @PY = '' While @Index<=@Len
Begin Set @HZS = Substring(@HZ,@Index,1) Set @tmp = convert(binary(2),@HZS)
if (@tmp>=0xB0A1 and @tmp<=0xB0C4)
Set @PY = @PY + 'A'
else if (@tmp>=0xB0C5 and @tmp<=0xB2C0)
Set @PY = @PY + 'B'
else if (@tmp>=0xB2C1 and @tmp<=0xB4ED)
Set @PY = @PY + 'C'
else if (@tmp>=0xB4EE and @tmp<=0xB6E9)
Set @PY = @PY + 'D'
else if (@tmp>=0xB6EA and @tmp<=0xB7A1)
Set @PY = @PY + 'E'
else if (@tmp>=0xB7A2 and @tmp<=0xB8C0)
Set @PY = @PY + 'F'
else if (@tmp>=0xB8C1 and @tmp<=0xB9FD)
Set @PY = @PY + 'G'
else if (@tmp>=0xB9FE and @tmp<=0xBBF6)
Set @PY = @PY + 'H'
else if (@tmp>=0xBBF7 and @tmp<=0xBFA5)
Set @PY = @PY + 'J'
else if (@tmp>=0xBFA6 and @tmp<=0xC0AB)
Set @PY = @PY + 'K'
else if (@tmp>=0xC0AC and @tmp<=0xC2E7)
Set @PY = @PY + 'L'
else if (@tmp>=0xC2E8 and @tmp<=0xC4C2)
Set @PY = @PY + 'M'
else if (@tmp>=0xC4C3 and @tmp<=0xC5B5)
Set @PY = @PY + 'N'
else if (@tmp>=0xC5B6 and @tmp<=0xC5BD)
Set @PY = @PY + 'O'
else if (@tmp>=0xC5BE and @tmp<=0xC6D9)
Set @PY = @PY + 'P'
else if (@tmp>=0xC6DA and @tmp<=0xC8BA)
Set @PY = @PY + 'Q'
else if (@tmp>=0xC8BB and @tmp<=0xC8F5)
Set @PY = @PY + 'R'
else if (@tmp>=0xC8F6 and @tmp<=0xCBF9)
Set @PY = @PY + 'S'
else if (@tmp>=0xCBFA and @tmp<=0xCDD9)
Set @PY = @PY + 'T'
else if (@tmp>=0xCDDA and @tmp<=0xCEF3)
Set @PY = @PY + 'W'
else if (@tmp>=0xCEF4 and @tmp<=0xD188)
Set @PY = @PY + 'X'
else if (@tmp>=0xD1B9 and @tmp<=0xD4D0)
Set @PY = @PY + 'Y'
else if (@tmp>=0xD4D1 and @tmp<=0xD7F9)
Set @PY = @PY + 'Z'
else
Set @PY = @PY + UPPER(@HZS) Set @Index = @Index+1 end /* while循环结束 */ return @PY
end