sql server 中的 DateTime 数据类型

原创 2004年07月10日 13:30:00

看到这个标题,你我可能都笑了。
你会笑,因为你以为这个东西太小儿科了,还用得着做一个标题?!
我会笑,是因为我确信你看完后会改变你的想法。

首先我引入一个问题:如何与一个DateTime类型的字段值进行相等比较?
其实这个问题看起来容易,但有下面的问题存在:
1、一般来说,用户输入的日期值就是yyyy/mm/dd,不带时、分、秒;
2、数据库中存储的日期值是带时、分、秒的。

所以我必须假定:我们所谓的两个日期相等就是年、月、日相等

两种方法:
1、有了这样的假定,你我都会有这样的想法:把两个日期的年、月、日取出来分别比较就行了,三者相等即可(也可按统一格式做成一个串再比较)。
2、上面的方法虽然可行。但你会发现几乎把日期函数用了个遍!不妨按下面的思路想一下:如果只指定日期,则时间默认为 12:00 AM(午夜)(取自:SQL Server联机帮助)。假定我们要查的日期是2004/7/10,则其实我们想要的就是这一天的00:00:00至23:59:59之间的。提到之间,我们就会想到between...and!!只要 between 2004/7/10 and 2004/7/11 即可了。具体地说:between Cast('2004-7-10' as DateTime) and dateadd(day, 1, Cast('2004-7-10' as DateTime))。但这个方法有一个小小问题,它会把7/11 0点的东西也找到,而这其实不应算做7/10的。如果你还想精益求精的话,就只能用...>=... and ...<... 了。(一般情况下没有必要)

等于讨论完后,再想想大于(或小于)某个日期,我们自然可以还用 between ... and 的,再一次论证上面方法的通用性
注意:有了上面的讨论,你一定明白了,and 后的日期一定要加一天,否则结束日期就不会查到了。

 

好了,今天的“小题大作”就到这里吧。
Good luck!! 7/10

SQL SERVER 获取DB中datetime类型值以String形式显示

SQL SERVER 数据库中经常遇到一个需求:获取DB中datetime类型
  • wanglei880526
  • wanglei880526
  • 2014年10月22日 19:11
  • 1754

Sql Server基础:数据类型详解

Sql Server基础:数据类型详解 数据类型是一种属性,用于指定对象可保存的数据的类型,SQL Server中支持多种数据类型,包括字符类型、数值类型以及日期类型等。数据类型相当于一个容...
  • tiandijun
  • tiandijun
  • 2015年05月08日 10:05
  • 1353

SQL Server 2008---常用数据类型小结

SQL Server 2008---常用数据类型整理
  • qq_24452475
  • qq_24452475
  • 2016年03月23日 23:33
  • 2085

SQL SERVER数据类型与C#数据类型对照表

http://blog.csdn.net/chgfno1/article/details/3465282 简称 .NET 类 类型 宽度 范围(位) ...
  • y13156556538
  • y13156556538
  • 2017年05月12日 08:31
  • 243

PostgreSQL 与 SQL Server 的数据类型映射

前言 PostgreSQL 8.1 轰动发布,我也打算将原来使用 SQL Server 的一些应用迁移到 PostgreSQL 上,首先需要迁移的是表,那么这就必须要先搞清楚这两个数据库...
  • WuLex
  • WuLex
  • 2016年12月10日 12:41
  • 909

Sql 中常用日期转换Convert(Datetime)

CONVERT(data_type,expression[,style])  convert(varchar(10),字段名,转换格式) 说明: 此样式一般在时间类型(datetime,sm...
  • baiduandxunlei
  • baiduandxunlei
  • 2013年06月26日 16:03
  • 122874

数据库与表的操作之SQL Server 2012中的数据类型

1.使用货币数据类型 1)        本实例定义一个money类型的变量,为其赋值125美元分,而后查看在SQL Server中存储的变量值。 --声明money类型的变量 DECLARE ...
  • owen_william
  • owen_william
  • 2016年09月28日 19:41
  • 1429

MS SQL Server 数据类型详解

本文转载自:http://blog.csdn.net/iamduoluo/article/details/6329199
  • xjh2011xjh
  • xjh2011xjh
  • 2014年05月13日 20:47
  • 1000

SQL2000里的数据类型

(1)char、varchar、text和nchar、nvarchar、ntext char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字...
  • haibo0668
  • haibo0668
  • 2016年06月02日 12:52
  • 870

sqlserver数据库数据类型中varchar和nvarchar的区别

nvarchar   和   varchar   的区别是存储方式不同  varchar是按字节存储的。而带nvarchar是按字符存储的  比如说varchar(40),能存储40个字节长度的字符,...
  • konkong5501
  • konkong5501
  • 2013年10月16日 21:18
  • 1249
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql server 中的 DateTime 数据类型
举报原因:
原因补充:

(最多只允许输入30个字)