zoukankan      html  css  js  c++  java
  • [Irving]Sql Server 日期、时间、比较

    在sql 的数据库表里时间字段是比较全的格式:例如GetdataTime字段:2007-06-05 12:34:50。

    但在前台程序里,利用日历控件,可能查询的时候是以某天来做比较,例如开始时间:2001-06-05,结束时间:2010-03-04,在项目开发过程中发现,利用between...and...语句做查询时,会出现错误,尤其是开始时间和结束时间如果是同一天,根本不会查出任何数据,而事实上数据库里有这一天的数据。

    原查询语句:

    queryString = "where GetdataTime Between'" + begintime + "'And'" + endtime + "'";

    解决方法:利用CONVERT语句将GetdataTime字段的值做处理,保留日期的值,再做比较。

    修改后的查询语句: 

     queryString = "where CONVERT(char(20),GetdataTime,23) Between '" + begintime + "' And '" + endtime + "'";

    CONVERT(char(20),GetdataTime,23)将保留日期部分,例如2007-06-05

     Convert(VARCHAR(10),{0},8)  保留时间

    CONVERT语句对时间的操作可详细参考:http://www.cnblogs.com/owendu/archive/2007/01/12/619189.html

    经过以上修改,再查询可得到正确的值,例如开始和结束日期同为2007-06-05,则数据表中所有在2007-06-05 00:00:00至2007-06-05 24:00:00之间的数据将被查出。

    总结一下,以备日后查找

  • 相关阅读:
    HTTP状态码
    python 连接 MySQL 数据库
    JS事件基础和绑定
    7月13号:2D的转换和过渡,动画效果设置
    JS事件流
    7月14日:JS的基础语法
    JS对表单的操作
    7月16日:DOM总结
    DOM样式表
    7月9号
  • 原文地址:https://www.cnblogs.com/teamate/p/3685625.html
Copyright © 2011-2022 走看看