一个电话号码表,其中有一个时间字段time,还有两个字段status=1和call_result=1判断这个号码我是否操作过。假如7月10日修改了我是否打过这个号码的这个后台判断,现在只有status这一个字段判断。所以我提取已操作数据的时候,如果在10号之前,那么需要status和call_result两个一起判断;如果是10号之后只需要status这一个字段判断。怎么在where条件后面控制这个,时间已经设定了一个变量可以作对比。因为这个数据提取也是在一个大where里面的条件之一,不能在整个外面控制。求教大神!
1、从 tblTest 表中获取出 itemcode = 'Item001' 的记录行,就可以使用where的相等(=)条件,select * from tblTest where itemcode = 'Item001'。
2、从 tblTest 表中获取出 itemnum > 50 的记录行,就可以使用where的大于(>)条件。大于条件还可以使用大于等于(>=),select * from tblTest where itemnum > 50。
3、从 tblTest 表中获取出 itemnum < 50 的记录行,就可以使用where的小于(<)条件。小于条件还可以使用小于等于(<=),select * from tblTest where itemnum < 50。
4、从 tblTest 表中获取出 itemnum 不等于 itemprice 的记录行,就可以使用where的不等于(!= 或者 <>)条件,这两种不等于符号都是可以的。
5、从 tblTest 表中获取出 itemname 包含“项目”两个字的记录行,就可以使用where的模糊(%)条件,百分号在左侧表示左边可以是任意值,百分号在右侧表示右侧可以匹配任意值,百分号也可以两边都有。
如下参考:
1.从tblTest表中获取itemcode='Item001'的记录行,然后使用where的等式(=)条件,select*fromtblTestwhereitemcode='Item001'如下图。
2. 如果从tblTest表中获得itemnum > 50的记录行,则可以使用where greater than(>)条件。也可以使用大于或等于(>=),select * from tblTest where itemnum > 50,如下图。
3.从tblTest表中获取itemnum < 50的记录行,您可以使用where的小于(<)条件。小于条件也可以使用小于或等于(<=),select * from tblTest where itemnum < 50如下图。
4.从tblTest表中获取itemnum不等于itemprice的记录行,可以使用where's not equal to (!等于或小于>如下图。
5.从tblTest表中获取包含itemname中单词“item”的记录行,然后可以使用where的fuzzy(%)条件。左边的百分号表示左边可以是任何值,右边的百分号表示右边可以匹配任何值,百分号可以是两边的,如下图。
本回答被网友采纳你可以根据时间参数来判断:
如果时间>=你的时间 且 status = 1 这个条件 ;
如果时间<你的时间 且 status = 1 and call_result = 1这个条件 ;
1 和 2 两个是或的关系
具体sql参考:
select * from table1 where 1=1 and ( (time>=v_date and status =1 ) or其中:table1 是你的表,v_date 是你的时间变量
--希望对你有帮助!!
追问这个我看到了,如果我不加1=1怎么样
追答可以不加的,我只是习惯而已。
本回答被提问者采纳