SQL语句分条件查询
sql语句。有这么个条件,如果a不为空,就执行whereb=c;如果a为空,则执行whereb=d。这样的SQL语句怎么写啊?1、where另约时间isNotnullan...
sql 语句。有这么个条件,如果a不为空,就执行where b=c;如果a为空,则执行where b=d。这样的SQL语句怎么写 啊?
1、where 另约时间 is Not null
and PK_CORP=#LoginCorp#
and 另约时间 between #ksrq# and #jzrq#
2、where 另约时间 is Not null
and PK_CORP=#LoginCorp#
and 另约时间 between #ksrq# and #jzrq#
and 实际完成日期=#wcrq#
如果#wcrq#为空的查询条件,那么执行第一个where,如果有值就执行第二个where。 展开
1、where 另约时间 is Not null
and PK_CORP=#LoginCorp#
and 另约时间 between #ksrq# and #jzrq#
2、where 另约时间 is Not null
and PK_CORP=#LoginCorp#
and 另约时间 between #ksrq# and #jzrq#
and 实际完成日期=#wcrq#
如果#wcrq#为空的查询条件,那么执行第一个where,如果有值就执行第二个where。 展开
5个回答
展开全部
select * from table where (a is null and b=c) or (a is not null and b=d)
把两个where条件用or连接起来就行了,不管几个,只是if else关系就用or连接,逻辑关系是一样的,不信你自己仔细看
把两个where条件用or连接起来就行了,不管几个,只是if else关系就用or连接,逻辑关系是一样的,不信你自己仔细看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
where 另约时间 is Not null
and PK_CORP=#LoginCorp#
and 另约时间 between #ksrq# and #jzrq#
and (实际完成日期=#wcrq# or #wcrq# is null)
这个语句的写法取决于你是oracle数据库还是sql server数据库及字段类型
oracle 字符型
trim(#wcrq# ) is null
oracle及sql server数字型
#wcrq# = 0 --0为空的默认值
sql server 空值
#wcrq# = ''
and PK_CORP=#LoginCorp#
and 另约时间 between #ksrq# and #jzrq#
and (实际完成日期=#wcrq# or #wcrq# is null)
这个语句的写法取决于你是oracle数据库还是sql server数据库及字段类型
oracle 字符型
trim(#wcrq# ) is null
oracle及sql server数字型
#wcrq# = 0 --0为空的默认值
sql server 空值
#wcrq# = ''
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Select b=case when a is null then c else d end
From tablename
Where 1=1
希望可以帮到你
From tablename
Where 1=1
希望可以帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update 表 set b='c' where a is not null ; Update 表 b=‘d‘ where a is null ;都快不记得了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select *
from tab
where b = (case when a is null then d else c)
from tab
where b = (case when a is null then d else c)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询