重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
select * from 表
专业领域包括成都网站设计、网站建设、商城网站制作、微信营销、系统平台开发, 与其他网站设计及系统开发公司不同,创新互联的整合解决方案结合了帮做网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,为客户提供全网互联网整合方案。
where to_char(TempDate,'hh24:mi') between '00:00' and '11:00'
我在PLSQL里面必须这样写,只写小时会仅限制到最后那天的11点。
select to_char(sysdate-1.'dd') from dual);
1后边是逗号,
看你的语句是取一个日期,干嘛要用IN呢,IN很影响执行效率,特别是表中数据比较大的时候,我觉得用这个就可以:
select to_char(edit_time,'dd') as newtime from table where newtime=to_char(sysdate-1,'dd')
建表和插入数据
create table table_a( t1 date, t2 date);
insert into table_a values(to_date('20140501','yyyymmdd') ,to_date('20140503','yyyymmdd'));
insert into table_a values(to_date('20140508','yyyymmdd') ,to_date('20140509','yyyymmdd'));
create table table_b(t date,id int)
insert into table_b values(to_date('20140501','yyyymmdd'),1);
insert into table_b values(to_date('20140502','yyyymmdd'),2);
insert into table_b values(to_date('20140503','yyyymmdd'),3);
insert into table_b values(to_date('20140504','yyyymmdd'),4);
insert into table_b values(to_date('20140505','yyyymmdd'),5);
insert into table_b values(to_date('20140506','yyyymmdd'),6);
insert into table_b values(to_date('20140507','yyyymmdd'),7);
insert into table_b values(to_date('20140508','yyyymmdd'),8);
insert into table_b values(to_date('20140509','yyyymmdd'),9);
insert into table_b values(to_date('20140510','yyyymmdd'),10);
insert into table_b values(to_date('20140511','yyyymmdd'),11);
查询语句
select * from table_b where t not in(
select distinct b.t from table_b b,table_a a where b.t between a.t1 and a.t2)
第一种:直接用语句
date1与date2是字符串
SQL.Tet:='select * from table where 字段 between '+Quotedstr(date1)+' and '+Quotedstr(date2);
date1与date2是日期
SQL.Tet:='select * from table where 字段 between '+Quotedstr(DateTimeToStr(date1))+' and '+Quotedstr(DateTimeToStr(date2));
第二种:用参数形式:
SQL.Tet:='select * from table where 字段 between :d1 and :d2';
Parameters.ParamByName('d1').Value:=date1;
Parameters.ParamByName('d2').Value:=date2;
你这就是分组后取纪录最大的一行嘛
①可以用开窗函数row_number over(partition by 系统号 order by 峰值 desc),然后取排名第一的
②可以用子查询