改为
<%if request("submit")="修改" then
connexecute "update updatedisk set dp001='"&request("dp001")&"',dp002='"&request("dp002")&"',lxj001='"&request("lxj001")&"',xilie1gt='"&request("xilie1gt")&"',xilie2guowai='"&request("xilie2guowai")&"',hanri='"&request("hanri")&"',oumei='"&request("oumei")&"',dvdlxj='"&request("dvdlxj")&"',dongmanlxj='"&request("dongmanlxj")&"',lxj002='"&request("lxj002")&"',gtdl='"&request("gtdl")&"',mtv='"&request("mtv")&"',updatedate='"&request("updatedate")&"'where 1=1 "
end if
%>
field1 like ’%value1%’
field1是字段名,like '%value1%'表示包含"value1",其中%是通配符,表示一个或多个字符。
需要说明的是,如果你用的是Access数据库,貌似等效于%的通配符是
"+"是字符串运算符,如“Abc”+“123”=“Abc123"
本质上的区别不是很清楚
实际应用中的,比较了解,on 条件是用于外键连接,where 条件是用于筛选纪录
on可适用于多条记录,asp批量处理时候常用where必将常见于单条记录读取查询
而且on一般跟join连用的,where是条件语句,听说在有索引的情况下,join的效率会更快点,但具体没亲自测试过
where是SQL-89语法,用on是SQL-92语法,都还没过时,具体看实际用途进行选择
对于你举例的这个,直接用isnull(语文,''),空(NULL)为''。
where 辅助科目语文 like '%'+isnull(语文,'')+'%'这样就行。
这样如果语文是空的话,则拼起来的结果就是'%%',like '%%'可以起到1=1一样的效果了。
另外也可以使用CASE WHEN
where 辅助科目语文 like (case when isnull(语文,'') = '' then '%' else '%'+语文+'%' end)
case when 就可以实现你的if功能。
有那么麻烦么?使用 columnname like '%' + ISNULL(:参数,'') + '%'
这个肯定够使用了。只不过你的where条件要把所有的条件都拼进去。
isnull是空则为一个值的语法,不过是SQLSERVER的。ORACLE用NVL,MYSQL应该是IFNULL。如果是空,给两个单引号,然后和百分号一拼接,肯定是百分号,那么使用like,当然是字符型才可以,空的话条件就是恒等。
这段代码应该是由程序(例如Java)中生成的,where条件中 1=1 之后的条件是通过 if 块动态变化的。例如:
String sql="select from table_name where 1=1";
if( conditon 1) {
sql=sql+" and var2=value2";
}
if(conditon 2) {
sql=sql+" and var3=value3";
}
where 1=1 是为了避免where 关键字后面的第一个词直接就是 “and”而导致语法错误。
以上就是关于请教下, ASP更新数据UPDATE时 WHERE语句的用法是怎么样的 全部的内容,包括:请教下, ASP更新数据UPDATE时 WHERE语句的用法是怎么样的 、VB 中SQL查询语句中的查询条件有什么语法格式 where ……、SQL中ON和WHERE的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)