四刻台式惠普电脑:怎样判断从数据库中查找到的数据是否以某一字符开头?

来源:百度文库 编辑:高校问答 时间:2024/05/09 07:27:01
具体是,从数据库中查找到一条或多条数据,然后要判断电话号码<%=rs("phone")%>是否8开头,asp该怎么写啊?

屏风竹影的方法不好,第一种未能给出对判断结果的处理,并且易出现错误(如记录集为空时)。第二种用的方法死板,如果是大于8位,或是任意位数的号码(比如以8开头的号码888,只有三位,代入第二程序中,就会出现判断错误,但该号码确是以8开头),这种方法就会出现错误。
给一个程序如下:
<%
if not rs.eof then
f1=cint(left(rs("phone"),1))
if f1=8 then
'你要对首位是8的号码进行处理的子程序
else
'你要对首位非8的号码进行处理的子程序
end if
end if
%>
必须加if not rs.eof then...end if的判断,这样才能防止出现记录集为空时却要操作其内容的错误。
如未能解决,可加我QQ:85457284。我会在线帮你解决。申请时注明“ASP代码”。
另:屏风,如果没有我提醒你,你不修改答复,我相信你还不知道自己的逻辑错误。

最简单的方法是:
<%
P1=rs("phone")
left(P1,1)="8"
%>
当然还有复杂的方法,分两种情况,一种电话号码长度是固定的,例如电话号码是八位,你可以这么写!
<%
p1=rs("phone")
p2=p1-80000000
if p2<0 or P2>10000000 then
'此电话号码不是8开头的
%>
还有一种情况就是电话号码不固定,例如,有电话是六位,有电话是七位,还有可能是八位,这样你先用可以统计一下这个电话号码的长度,再来用上面的方法,这里就不写了,呵呵!你不会用下面这两个笨方法吧!

直接用SQL语句搞定:select * from 电话号码表 LIKE '8%'