条件中有判断的sql语句该怎么写
在sql语句中,有时在条件中获取的值需要有判断结果,这种在实际的网站建设过程中会经常用到。

如果 a、b、c、d是变量,还有下面的sql语句:

sql="select * from 表  where  id="  &  c
set rs=abcdefg.execute(sql)

现在需要有这样一个判断,就是当a=b的时候,id就取c,如果a不等于b,即a<>b时,id的值就取d,那该怎么写呢?

也许有人在制作网站时会这样写:

sql="select * from 表  where  id="  &  
if a=b then
response.write(c)
else
response.write(d)
end if
set rs=abcdefg.execute(sql)

运行后发现出错了,其实上面的编程是错误的,不能在&后面直接写语句,而应该这样写:

dim ccdd
if a=b then
ccdd=c
else
ccdd=d
end if
sql="select * from 表  where  id="  &  ccdd
set rs=abcdefg.execute(sql)

具体运行与分析见附图一:


其实也就是找了个中间的变量,但一看就知道思路比较清晰,sql语句也比较顺。

除了上面的sql写法外,还有一种解决方案,即可以这样写,也行的:

sql="select * from 表  where  id="
if a=b then
sql=sql & c
else
sql=sql & d
end if
set rs=abcdefg.execute(sql)

具体见附图二:


其实结果都是一样,但写法不一样,都可以解决在条件中有判断的语句,综上所述,简单易用,只要不能把语句直接写在连字符的后面就行了。


下一条:让图片均匀缩小的必要性与解决方案
网站套餐/客户案例/公司优势/域名主机/企业邮箱/网站推广/关于我们/返回首页
版权所有:南京希丁哥网络信息服务有限公司