oracle怎么在where后面再作判断条件

发布网友 发布时间:2022-03-30 07:34

我来回答

3个回答

热心网友 时间:2022-03-30 09:04

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的模糊(%)条件,百分号在左侧表示左边可以是任意值,百分号在右侧表示右侧可以匹配任意值,百分号也可以两边都有。

热心网友 时间:2022-03-30 10:22

如下参考:

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(%)条件。左边的百分号表示左边可以是任何值,右边的百分号表示右边可以匹配任何值,百分号可以是两边的,如下图。

热心网友 时间:2022-03-30 11:56

你可以根据时间参数来判断:

如果时间>=你的时间 且 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 
(time<v_date and status = 1 and call_result=1) )

其中:table1 是你的表,v_date 是你的时间变量



--希望对你有帮助!!

追问这个我看到了,如果我不加1=1怎么样

追答可以不加的,我只是习惯而已。

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com