C# oracle 里面时间作为条件查询语句

C# oracle 里面时间作为条件查询语句,第1张

首先来说,从输入的参数2012/2这种格式我用标准化的参数输入201202来代替,
阿婆主的意思是想要这样查询的SQL是吧。那么请看下面:
select from [table_name]
where case when length(输入参数)=4 then time >= to_date('输入参数||0101','YYYYMMDD') and time <= to_date('输入参数||1231','YYYYMMDD')
case when length(输入参数)=6 then time >=to_date('输入参数||01','YYYYMMDD') and
time < to_date('(输入参数+1)||01,'YYYYMMDD')
case when length(输入参数)=8 then time = to_date('输入参数','YYYYMMDD')
这里值得注意的是:
1在第2个case when的时候,容易出现12月份+1之后变成13,可以自己进行一下处理,大体的思想应该是一样。
2输入的参数不是2012/2/2这种形式,二是20120202这种形式,那么你也可以根据你自己的需要。进行一些调整。
如果满意请给分

1 select eidentity, ename from emp e,
(
select empid, count() from emp
where empid in (select a1empid from emp a1, emp a2 where a1empid>=a2empid and a1identity=a2identity)
group by empid
having count()>=3) t
where eempid=tempid
order by eidentity ;

2 select e
from emp e, (select empid,count() cnt from feeinfo group by empid) f
where eempid=fempid
and fcnt=0 ;

存储过程不能直接写查询,需要将查询结果into到变量中或将查询定义成游标。
下面是into到变量的例子。
declare
ll varchar2(50);
begin
select fybm
into ll
from zf_fy
where zf_fynodeid = '条件';
-- 这里需要增加异常处理
exception
when no_data_found then -- 未找到数据
--处理
when too_many_rows then -- 找到多行数据
-- 处理
when others then -- 其他异常
-- 处理
end;

where 1=1 --这个你写在后台
and 条件1 --其他的你就按这种方式来拼就行了,其他的条件不输入也不影响你前边的执行
and 条件2
and 条件3
and 条件4

能按懂吧?

1、先创建一个简单的数据表。

2、插入数据,顺便复习插入数据了,最好多插几个,查询的时候更明显。

3、select后面的字段是等下查询结果所显示的,where就是限制的条件,根据where查询到对应的列。

4、如果字段里面有数字的话也是可以根据数字大小进行查询的。

5、加入and语句可以同时限制两个条件来查询。

6、用%来查询,百分号在字母前表示以什么字母开头的,这里就是以名字为d开头来查询数据,同理把%放在后面就是以d结尾的名字。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10543489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存