SQL Server 2005中Query(查询)Date Time(日期时间)
来源:互联网 发布:2.5次元自动测量编程 编辑:程序博客网 时间:2024/06/08 19:26
在浏览本文之前请保证安装好SQL Server 2005。
Introduction
本文主要讲述在SQL Server 2005中Query(查询)Date Time(日期时间)会遇到的问题。
Section 1 - Problem
现在打算select FundHouse table中LastUpdateDate column中date为2008-5-21的records。
在SQL Server 2005中open FundHouse这个table可以看到在LastUpdateDate column下有以下值:
2008-5-21 19:38:36
2008-5-21 19:42:40
2008-5-21 19:43:45
2008-5-23 2:23:03
2008-5-23 2:34:43
New一个Query去select,尝试了以下几种形式:
select * from FundHouse where LastUpdateDate like '2008-5-21'
select * from FundHouse where LastUpdateDate like '2008-5-21%'
select * from FundHouse where LastUpdateDate like 2008-5-21
select * from FundHouse where LastUpdateDate like 2008-5-21%
select * from FundHouse where LastUpdateDate like '2008-5-21 19:38:36'
select * from FundHouse where LastUpdateDate = '2008-5-21 19:38:36'
select * from FundHouse where LastUpdateDate = '2008-5-21'
但第1~6种形式是不能正确把records select出来,只有第7种能正确select出来,这表示这不能用like和%来通配所有时间值。
从以上第5,6种形式可以看到即使具体到秒也不能把record select出来。
Section 2 - Reason
SQL Server 2005的datetime type存储的实际数据是精确到毫秒级的,但现在不确定是否与此有关。
Section 3 - Solution
可以用"<" or ">"或者"between ? and ?"设定范围来取值。
如用prepareStatement的话like ?这个问号不能set一个Date的date type它,因为在SQL Server 2005上测试,如以下两种写法都会select出不对的result:
select * from FundHouse where LastUpdateDate > 2008-5-21
select * from FundHouse where LastUpdateDate < 2008-5-21
经试验,只能用String date type来表示这个时间才能select出正确result,如下这样:
select * from FundHouse where LastUpdateDate > '2008-5-21'
select * from FundHouse where LastUpdateDate < '2008-5-21'
- SQL Server 2005中Query(查询)Date Time(日期时间)
- SQL Server 2005中Query(查询)Date Time(日期时间)
- SQL Server 2005中Query(查询)Date Time(日期时间)时select不出record的问题
- Java日期时间(Date/Time)
- Java日期时间(Date/Time)
- Java日期时间(Date/Time)
- sql server日期函数 怎么查询日期时间
- Oracle日期时间(Date/Time)操作
- Oracle日期时间(Date/Time)操作
- Ruby 日期 & 时间(Date & Time)
- JDK 日期&时间<Date Time> API
- PHP 日期,时间函数(date,time)
- Java日期时间(Date/Time)(附Date.java源码)
- Sql server中提高时间查询速度
- Date/Time Conversions Using SQL Server
- java中几个时间的区别(java.sql.date,java.sql.time,java.sql.Timestamp)
- 数据库中关于datetime、date 、time数据类型比较,及插入日期时间数据格式
- SQL SERVER 2005中的日期时间类型
- Java笔试题(一)
- 多线程文件拷贝整体架构
- 如何用ASP+Jmail 4.4进行邮件发送
- 如何提取Listview的数值
- 3GP视频转换器代码
- SQL Server 2005中Query(查询)Date Time(日期时间)
- My Effective Essay
- 今日更新了在新浪上的博客
- DSO数据激活后丢失问题
- 裁员
- mulTdCpfile.c
- Macromedia Flash文件格式(SWF)详细说明书
- 与友人的OpenBSD尝试过程
- .Net3.5 和 VS2008 中的 Asp.Net Ajax