100求救,解决了给余下的分,把一个SQL2000的函数转为ASP的

CTBOK 2005-09-27 07:34:28
CREATE function fun_getPY
( @str nvarchar(4000) )
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)

--如果非汉字字符,返回原字符
set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901
then (
select top 1 PY
from
(
select 'a' as PY,N'驁' as word
union all select 'b',N'簿'
union all select 'c',N'錯'
union all select 'd',N'鵽'
union all select 'e',N'樲'
union all select 'f',N'鰒'
union all select 'g',N'腂'
union all select 'h',N'夻'
union all select 'j',N'攈'
union all select 'k',N'穒'
union all select 'l',N'鱳'
union all select 'm',N'旀'
union all select 'n',N'桛'
union all select 'o',N'漚'
union all select 'p',N'曝'
union all select 'q',N'囕'
union all select 'r',N'鶸'
union all select 's',N'蜶'
union all select 't',N'籜'
union all select 'w',N'鶩'
union all select 'x',N'鑂'
union all select 'y',N'韻'
union all select 'z',N'咗'
) T
where word>=@word collate Chinese_PRC_CS_AS_KS_WS
order by PY ASC
)
else @word
end)
set @str=right(@str,len(@str)-1)
end
return @PY
end

------------------------
上面这个函数是SQL2000里面,能把汉字的拼音找出来,包括GBK的,请朋友帮忙转为ASP里面函数,谢谢
...全文
143 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
CTBOK 2005-10-10
  • 打赏
  • 举报
回复
顶一下
CTBOK 2005-10-08
  • 打赏
  • 举报
回复
顶一下,这个是纯对能转的,我试过,但要在SQL2000里面转,不好用,我要在ASP中转
itzhiren 2005-09-30
  • 打赏
  • 举报
回复
哦,原来楼主帖的这个函数也是只取拼音首字母呀
itzhiren 2005-09-30
  • 打赏
  • 举报
回复
bzscs(沙虫 我爱小美) 的只是取拼音首字母
CTBOK 2005-09-29
  • 打赏
  • 举报
回复
这个是一级GB码呀,字太少了
dishui 2005-09-28
  • 打赏
  • 举报
回复
估计是unicode,你可以找找和vb函数有关的资料,可能不是一个函数可以解决问题的,记得好象有hex的东西用到,看看编码转换是如何实现的
CTBOK 2005-09-28
  • 打赏
  • 举报
回复
我要ASP的呀
itzhiren 2005-09-28
  • 打赏
  • 举报
回复
直接调用不就行了?
CTBOK 2005-09-28
  • 打赏
  • 举报
回复
顶一下
bzscs 2005-09-28
  • 打赏
  • 举报
回复
换这个用用
-
<pre><script language="VBScript">
<!--
Function getpy(sStr)
Dim aTemp,i,j,num,sTemp
aTemp = array(array("a","b","c","d","e","f","g","h","j","k","l","m","n","o","p","q","r","s","t","w","x","y","z"),array(-20319,-20283,-19775,-19218,-18710,-18526,-18239,-17922,-17417,-16474,-16212,-15640,-15165,-14922,-14914,-14630,-14149,-14090,-13318,-12838,-12556,-11847,-11055))
For i = 1 to len(sStr)
sTemp = Mid(sStr,i,1)
num = Asc(sTemp)
If (num>0 And num<160)Then
getpy = getpy & sTemp
Else
For j = UBound(aTemp(1)) To 0 Step -1
If (num>=aTemp(1)(j))Then
getpy = getpy & aTemp(0)(j)
Exit for
End if
Next
End if

Next
End Function
document.writeln(getpy("把一个SQL2000的函数转为ASP的"))

//-->
</script></pre>
  • 打赏
  • 举报
回复


不甚了解

楼下继续

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧