在SQL数据库中查询某一时间段里每一天的数据

在SQL数据库中查询某一时间段里每一天的数据,第1张

查询的时间是:上周,上上周 加载页面的同时你也能得到上周,上上周 对应现在时间的时间段啊!先这些时间段保存到页面中,每个加上一个标识,当用户选择上周或者上上周的时候,你要获取的是上周或者上上周所对应的时间段,传到数据库中去,希望对你有所帮助

比如今天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数据库如何查询时间在俩时间之间.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10175545.html

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

发表评论

登录后才能评论

评论列表(0条)

保存