查询的时间段是:上周,上上周 加载页面的同时你也能得到上周,上上周 对应现在时间的时间段啊!先这些时间段保存到页面中,每个加上一个标识,当用户选择上周或者上上周的时候,你要获取的是上周或者上上周所对应的时间段,传到数据库中去,希望对你有所帮助
比如今天1月4日,你要取1月2日(其他日期也一样,往前推2天)的从00:00:00到23:59:59的所有数据,假设这个字段类型是date,写法如下:
select from table where to_char(appdate,'yyyy-mm-dd')=to_char(sysdate-2,'yyyy-mm-dd')select 时间 from 表 where 时间 〉= 开始时间 and 时间〈= 结束时间
如果能查出来数据,就说明时间在你规定的时间段内。你可以判断,返回一个true。没数据,返回一个false
例如:表a中的datetime字段都是‘2013-05-11
13:10:00‘这种格式的,筛选其中8:00到10:00之间的。
select
from
表awhere
substring(convert(varchar,字段名,120),12,8)
between
'08:00:00'
and
'10:00:00'
怎么利用SQL语句查询数据库中具体某个字段的重复行?
可用group
by……having来实现。
可做如下测试:
1、创建表插入数据:
create
table
test
(id
int,name
varchar(10))
insert
into
test
values
(1,'张三')
insert
into
test
values
(2,'李四')
insert
into
test
values
(3,'张三')
insert
into
test
values
(4,'王五')
可以用ADO 来查询。
参考如下:
AnsiString strSql = "select from 表 where DateTime between :DateTime1 and :DateTime2 ";
try {
AnsiString tmp = FormatDateTime("YYYY-MM-DD hh:mm", dtp1->DateTime);
AnsiString tmp1 = FormatDateTime("YYYY-MM-DD hh:mm", dtp1->DateTime);
ADOQ->Close();
ADOQ->SQL->Clear();
ADOQ->SQL->Add(strSql);
ADOQ->Parameters->ParamByName("DateTime1")->Value = tmp;
ADOQ->Parameters->ParamByName("DateTime2")->Value = tmp1;
ADOQ->Open();
}
catch() {
}
sql = "SELECT 数值 FROM opt WHERE 时间 between '" & D1 & "' AND '" & D2 & "' ORDER BY 时间"
朋友,因为对ACCESS不是非常清楚其数据类型,我暂时用SQL中的方式帮你解决此问题:
先创建表:
/ Object: Table [dbo][Chart] Script Date: 09/30/2010 12:39:49 /
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo][Chart](
[id] [int] IDENTITY(1,1) NOT NULL,
[employee] [varchar](50) NULL,
[Date] [varchar](50) NULL,
CONSTRAINT [PK_Chart_1] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/ Object: StoredProcedure [dbo][procGetInfoByDate] Script Date: 09/30/2010 12:39:47 /
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create proc [dbo][procGetInfoByDate]
@beginDate varchar(5),
@endDate varchar(5)
as
begin
select from Chart where Chart[Date] between convert(varchar(50),'201002030'+@beginDate) and
convert(varchar(50),'201002030'+@endDate)
end
GO
方法一:直接写SQL语句:
select from Chart where Chart[Date] between convert(varchar(50),'201002030'+'1') and
convert(varchar(50),'201002030'+'2')
方法二:用存储过程,这种方法更适合你的需求
create proc procGetInfoByDate
@beginDate varchar(5),
@endDate varchar(5)
as
begin
select from Chart where Chart[Date] between convert(varchar(50),'201002030'+@beginDate) and
convert(varchar(50),'201002030'+@endDate)
end
调用存储过程:
procGetInfoByDate 1,2
希望能为你提供借鉴!
以上就是关于在SQL数据库中查询某一时间段里每一天的数据全部的内容,包括:在SQL数据库中查询某一时间段里每一天的数据、orcl数据库 查询某时间段的内容、mysql数据库如何查询时间在俩时间之间.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)