当前位置:  数据库>sqlserver

sql server中between语句查询日期的问题

    来源: 互联网  发布时间:2014-08-29

    本文导语:  问题: 表中某个字段是Datetime型 以" YYYY-MM-DD 00:00:00"格式保存。 例: A 2009-01-22 21:22:22 B 2009-01-22 19:21:11 C 2009-01-22 23:10:22 使用语句: select * from TABLE where date between '2009-1-22' And '2009-1-22' 想查找日期为2009-1-22的记录,结果却为...

问题:
表中某个字段是Datetime型 以" YYYY-MM-DD 00:00:00"格式保存。
例:
A 2009-01-22 21:22:22
B 2009-01-22 19:21:11
C 2009-01-22 23:10:22
使用语句:
select * from TABLE where date between '2009-1-22' And '2009-1-22'
想查找日期为2009-1-22的记录,结果却为零。

解决方法:
 

代码如下:
create table tb(id varchar(1),riqi datetime)
insert into tb values('A' , '2009-01-22 21:22:22')
insert into tb values('B' , '2009-01-22 19:21:11')
insert into tb values('C' , '2009-01-22 23:10:22')
go
 

--1
select * from tb where convert(varchar(10),riqi,120) = '2009-01-22' 
/*
id   riqi                                                  
---- ------------------------------------------------------
A    2009-01-22 21:22:22.000
B    2009-01-22 19:21:11.000
C    2009-01-22 23:10:22.000
所影响的行数为 3 行)
*/
 
--2
select * from tb where riqi between '2009-01-22 00:00:00' and '2009-01-22 23:59:59' 
/*
id   riqi                                                  
---- ------------------------------------------------------
A    2009-01-22 21:22:22.000
B    2009-01-22 19:21:11.000
C    2009-01-22 23:10:22.000
(所影响的行数为 3 行)
*/
drop table tb

总结:
短日期类型默认Time为00:00:00,所以当使用between作限制条件时,就相当于between '2009-1-22 00:00:00'  and '2009-1-22 00:00:00',因此就查不出数据。
要想实现功能,那就使用连接字串的形式,在短日期后面把时间补全,那样就能实现功能了。

附我的代码:
 

代码如下:
date1 between '" + dateTimePicker1.Value.ToShortDateString() + " 00:00:00' and '" + dateTimePicker2.Value.ToShortDateString() + " 23:59:59'

    
 
 

您可能感兴趣的文章:

  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • Mysql增加主键或者更改表的列为主键的sql语句
  • sql语句实例 取得日志条目的sql语句
  • Mysql下在某一列后即表的某一位置添加新列的sql语句
  • SQL Server统计SQL语句执行时间的脚本
  • sql语句实例 统计页面链接的sql语句
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • 一条SQL语句搞定Sql2000 分页
  • C#中验证sql语句是否正确(不执行语句)
  • SQL Server数据库的修复SQL语句
  • SQL 语句拦截 P6SPY
  • C#使用带like的sql语句时防sql注入的方法
  • t-sql/mssql用命令行导入数据脚本的SQL语句示例
  • 在SQL Server的try...catch语句中获取错误消息代码的的语句
  • sql2005创建远程登录帐户的sql语句分享
  • SQL SERVER 查询正在实行的SQL语句
  • SQL语句中含有乘号报错的处理办法
  • sql无效字符引起的执行sql语句报错的解决方法
  • C#代码验证sql语句是否正确(只验证不执行sql)的方法
  • SQL Server中选出指定范围行的SQL语句代码
  • 如何将java.util.Date类型的日期转换成java.sql.Date类型的日期?
  • SQL日期查询与比较方法
  • sql server日期相减 的实现详解
  • 初学者问题:标准的sql里有处理日期的函数吗?
  • 分享:sql server 取日期的年月日部分的函数
  • jsp中在oracle中查询日期类型时sql语句该怎么写啊?
  • sql server日期格式化处理的例子
  • 拼接SQL字符串与日期模糊查询的例子
  • sql语句中,怎样进行两个日期的时间差,用秒数表示??
  • T-SQL常用的时间和日期函数
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sql server中between的用法
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • java命名空间java.sql接口rowid的类成员方法: tostring定义及介绍
  • sql2005 大数据量检索分页的sql代码
  • java命名空间javax.sql.rowset接口joinrowset的类成员方法: getwhereclause定义及介绍
  • 微软网站下载的Ms SQL Server2000 JDBC Driver,必须用英文版的SQL server2000吗?
  • java命名空间java.sql接口statement的类成员方法: execute定义及介绍
  • 安装SQL2008时提示删除SQL2005Express工具的解决方法
  • java命名空间java.sql接口resultset的类成员方法: getcursorname定义及介绍
  • 创建 sql server 链接服务器的sql代码
  • java命名空间java.sql接口resultsetmetadata的类成员方法: getcolumntype定义及介绍
  • import Java.sql.*; 报错包 Java.sql 不存在?请帮帮我!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3