`

查询时间段数据问题

SQL 
阅读更多

问题:

select * from dbo.Tab_Article where ADate between '2009-09-14' and '2009-09-14'

 

  假设前台文本框日历控件选择的开始是2009-09-14并且选择结束时间是2009-09-14,
  那么只会查询出2009-09-14 0:00:00.000至2009-09-14 0:00:00.000的时间段数据,
  但是我想要的是2009-09-14至2009-09-14 23:59:59.999之间的数据

 当然最简单的方法就是在程序中的时间里用把时间转换字符串加上23:59:59.999. 

 

  private void test(String beginDate, String endDate)
    {
        DataTable dt = new DataTable();
        using (SqlConnection conn = DBHelper.GetConnection())
        {
            conn.Open();
            SqlCommand comm = new SqlCommand("select * from Test where ADate between @beginDate and @endDate",conn);
            comm.Parameters.Add(new SqlParameter("@begindate", beginDate));
            comm.Parameters.Add("@enddate", SqlDbType.DateTime,8,"Adate").Value = endDate+" 23:59:59.999";
            SqlDataReader sdr = comm.ExecuteReader();
            dt.Load(sdr);
        }
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }

 

--SQL语句还可以这样写:
select * from dbo.Tab_Article where ADate>='2009-09-14' and ADate<dateadd(dd,1,'2009-09-14')  

select * from dbo.Tab_Article where ADate between '2009-09-14' and dateadd(dd,1,'2009-09-15')  
select * fromdbo.Tab_Article where ADate between @startdate and dateadd(day,1,@enddate) 

 

 

 SQL中时间查询只能精确到秒,看下面例子得出的结果:

 

declare @sdt datetime ,@edt datetime
set @sdt='2009-09-14'
set @edt='2009-09-14'
select 精确毫秒=dateadd(ms,-1,dateadd(dd,1,@edt)),精确到秒=dateadd(ss,-1,dateadd(dd,1,@edt))

  

/*
精确毫秒                                                   精确到秒                                                  
------------------------------------------------------ ------------------------------------------------------
2009-09-15 00:00:00.000                                2009-09-14 23:59:59.000

(所影响的行数为 1 行)

*/

--所以只能精确到秒,修改如下
select * from dbo.Tab_Article where ADate between @sdt and dateadd(ss,-1,dateadd(dd,1,@edt)

 

分享到:
评论

相关推荐

    Visual C++源代码 130 如何使用存储过程查询时间段数据

    Visual C++源代码 130 如何使用存储过程查询时间段数据Visual C++源代码 130 如何使用存储过程查询时间段数据Visual C++源代码 130 如何使用存储过程查询时间段数据Visual C++源代码 130 如何使用存储过程查询时间段...

    MySql 按时间段查询数据方法(实例说明)

    总结来说,本文介绍了如何利用MySQL的内置函数来根据时间段进行数据查询,包括当天、当月以及特定时间戳格式的数据筛选。这些方法在处理数据库统计模块功能时非常有用,尤其是在需要按时间条件对数据进行统计分析的...

    查询指定时间段的数据

    首先,理解数据查询的基础是SQL(结构化查询语言),它是用于管理关系数据库的标准语言。在C#中,我们通常使用ADO.NET库与数据库进行交互,它提供了一套完整的组件来执行SQL查询并处理结果。 1. **连接数据库**: ...

    使用LabVIEW操作ACCESS、MySQL、SQL server数据库实现按照时间段查询数据

    在LabVIEW中操作数据库,尤其是实现按时间段查询数据,需要借助特定的工具包。本教程主要涉及使用官方数据库工具包“Database Connectivity Toolkit”,该工具包包含29个函数,能够实现数据库连接、增删改查及数据...

    C# 在sql server数据时间段内,间隔时间查询数据方法

    在sql server 数据库中,在一段时间范围内,间隔几条数据取出一条信息的检索方法。如:时间段内“2020-10-10 00:00:00” 到“2020-10-11 00:00:00”内,间隔30秒取出一套数据方法

    sql时间段查询

    通过上述示例可以看出,不同的数据库管理系统在实现特定时间段的数据查询时有着相似但又有所区别的方法。掌握这些查询技巧不仅能够提高数据处理效率,还能帮助开发者更灵活地应对各种业务需求。希望这些示例能对您...

    sql查询oracle时间段操作

    在实际应用中,结合使用这些工具和特性,可以高效地管理和恢复Oracle数据库中的时间段数据。但要注意,这些操作可能对性能产生影响,因此在生产环境中使用时需谨慎,并根据需要调整数据库参数以优化性能。 在"查询...

    JAVA实现按时间段查询数据操作

    JAVA实现按时间段查询数据操作 本节主要介绍了JAVA实现按时间段查询数据操作的相关知识点,涵盖了JAVA语言的实践应用、时间段查询、数据操作等方面的知识。 一、JAVA语言基础知识 * JAVA是一种面向对象的编程语言...

    嵌_时间段数据查询.zip昆仑通态触摸屏案例编程源码资料下载

    嵌_时间段数据查询.zip昆仑通态触摸屏案例编程源码资料下载嵌_时间段数据查询.zip昆仑通态触摸屏案例编程源码资料下载嵌_时间段数据查询.zip昆仑通态触摸屏案例编程源码资料下载嵌_时间段数据查询.zip昆仑通态触摸屏...

    使用存储过程查询时间段数据 编程小实例,C++.net源代码编写

    在压缩包中的"C++2010-03-15-如何使用存储过程查询时间段数据"文件中,可能包含了一个完整的示例程序,演示了上述步骤。通过学习这个实例,你可以了解到如何将C++.NET与数据库集成,使用存储过程高效地查询特定时间...

    后台根据时间段查询插件

    【后台根据时间段查询插件】是一种实用的软件组件,它主要功能是允许用户在后台系统中依据特定的时间段范围进行数据检索。这种插件对于数据分析、日志追踪、监控报警等场景尤其有用,因为它能够帮助用户快速定位在...

    ODBC配置数据库配置与SetWhereForODBC函数在不同数据库下查询时间段数据

    ODBC配置数据库配置与SetWhereForODBC函数在不同数据库下查询时间段数据

    oracle按指定时间查询数据如果未查询到继续递减时间段查询(存储过程)

    在Oracle数据库环境中,存储过程是一种预编译的代码块,用于执行特定的数据库操作,如数据查询、更新或复杂的业务逻辑处理。它们可以接受输入参数,执行一系列操作,并返回结果集或其他类型的输出。本文将详细解析一...

    指定时间段消费Kafka工具

    消费kafka某时间段消息用于分析问题,生产环境海量数据,用kafka-console-consumer.sh只能消费全量,文件巨大,无法grep。 代码来源于博主:BillowX_ ,感谢分享 原贴地址:...

    帆软报表插件,显示sql数据集的查询时间。

    本话题聚焦于帆软报表的一个特定功能:显示SQL数据集的查询时间。这个特性对于优化数据库性能、监控系统运行状况以及提升整体业务效率至关重要。 首先,我们要理解SQL执行时间的概念。SQL执行时间是指从发送SQL查询...

    C#按指定时间段查询数据

    摘要:C#源码,数据库应用,SQL查询实例 查询指定时间段的数据库数据,基于visual C#源码实现,检索数据库中符合特定时间段内的所有记录,这是一个经常被用到的实用技巧,按时间查询不管是在C#,或是在VB/VC等程序开发...

    javascript时间段分割

    首先,我们需要定义一个时间段的数据结构。一个简单的方式是使用两个日期对象,分别表示时间段的开始和结束。例如: ```javascript function TimeSegment(start, end) { this.start = start; this.end = end; } `...

    使用Between查询时间段.rar

    本篇文章将深入探讨如何使用`BETWEEN`来查询时间段。 一、`BETWEEN`的基本语法 `BETWEEN`的关键字语法如下: ```sql SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2; ``` ...

    数据库时间段合并

    过程名“p_refactorrela_maintain”暗示它可能与重构(refactor)或维护(maintain)关系型数据有关,可能包含了处理时间段数据的逻辑。 在实际应用中,数据库时间段合并的步骤可能包括: 1. **数据预处理**:清洗...

    Access查询时间段案例

    ### Access查询时间段...这种查询方式在实际应用中非常常见,对于提高数据查询效率、支持决策制定等方面具有重要意义。同时,本案例也展示了ASP.NET与Access数据库结合使用的具体实现细节,为开发类似应用提供了参考。

Global site tag (gtag.js) - Google Analytics