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之间的数据将被查出。

    总结一下,以备日后查找

  • 相关阅读:
    input file 多张图片上传 获取地址 ——fileReader
    15个常用的javaScript正则表达式
    sublime-emmet
    AMD-requireJS
    jQuery-lazyload参数
    easyui 查询条件form 数据遍历
    导出excel设置金额格式
    html5页面添加时间戳
    创建枚举
    定义实体转json需要方法
  • 原文地址:https://www.cnblogs.com/teamate/p/3685625.html
Copyright © 2011-2022 走看看