我做一个查询系统,查询条件是(某)年(某)月(某)日(某)人(某)地
其中“(某)”都是下拉的选择菜单,其中有‘全部’这一项,选择具体的比较简单,比如说
2006年6月3日张三黑龙江 SQL语句如下:
select * from biaoming where year='2006' and month='6' and day='3' and ren='张三' and didian='黑龙江'
但是如果我想查2006年6月3日所有人黑龙江或者2006年全年张三任何地点,对于单个好查,但是我也不知道他哪个条件选全部,我怎么修改查询条件呀
select * from biaoming where year='2006' and month='*'.................我要问的问题就是,我不知道他具体哪个选全部,我的SQL语句应该怎么写呀,有什么字符能表示全部吗?
请指教,急!~!~!~!~!~!~!~!~!~!~!~!~!
其中“(某)”都是下拉的选择菜单,其中有‘全部’这一项,选择具体的比较简单,比如说
2006年6月3日张三黑龙江 SQL语句如下:
select * from biaoming where year='2006' and month='6' and day='3' and ren='张三' and didian='黑龙江'
但是如果我想查2006年6月3日所有人黑龙江或者2006年全年张三任何地点,对于单个好查,但是我也不知道他哪个条件选全部,我怎么修改查询条件呀
select * from biaoming where year='2006' and month='*'.................我要问的问题就是,我不知道他具体哪个选全部,我的SQL语句应该怎么写呀,有什么字符能表示全部吗?
请指教,急!~!~!~!~!~!~!~!~!~!~!~!~!
写SQL时判断下就可以了
2怎么做判断呀
if year="全部" sql+=and year='2006'请兄弟门给我一个完整的答复,谢谢了,我很乱
可以分析逻辑表达式
(year=:year or :year='') and (month=:month or :month='' ) and (day=:day or :day='') and (ren=:ren or :ren='') and (didian=:didian or :didian='')
当参数:year为''(即用户没有选中年份)的时候,(year=:year or :year='') 就恒为TRUE,这个子表达式结果就和year字段无关。那么和后面的and操作,就等价于(month=:month or :month='' ) and (day=:day or :day='') and (ren=:ren or :ren='') and (didian=:didian or :didian=''),这样就相当于不考虑年了。后面的推理一样