SQL Server DateTime数据类型的另类解读

数据库 SQL Server
我们今天主要主要向大家描述的是另类解读SQL Server DateTime数据类型的实际操作步骤,以下就是文章的主要内容的详细介绍。

此文主要向大家描述的是另类解读SQL Server DateTime数据类型,以及在其实际操作中一些值得大家注意的事项与其实际应用代码的描述,以下就是文章的主要内容的详细描述,望大家在浏览之后会对其有更深的了解。

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

 

 

首先我引入一个问题:如何与一个SQL Server DateTime类型的字段值进行相等比较?其实这个问题看起看到这个标题,你我可能都笑了。你会笑,因为你以为这个东西太小儿科了,还用得着做一个标题?!我会笑,是因为我确信你看完后会改变你的想法。

 

首先我引入一个问题:如何与一个SQL Server 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' asSQL Server DateTime) and dateadd(day, 1, Cast('2004-7-10' as DateTime))。但这个方法有一个小小问题,它会把7/11 0点的东西也找到,而这其实不应算做7/10的。如果你还想精益求精的话,就只能用...>=... and ...<... 了。(一般情况下没有必要)

等于讨论完后,再想想大于(或小于)某个日期,我们自然可以还用 between ... and 的,再一次论证上面方法的通用性。

注意:有了上面的讨论,你一定明白了,and 后的日期一定要加一天,否则结束日期就不会查到了。

以上的相关内容就是对另类解读SQL Server DateTime数据类型的介绍,望你能有所收获。

解读SQL Server DateTime数据类型


上述的相关内容就是对另类解读SQL Server DateTime数据类型的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. SQL Server 易混淆的一些数据类型有哪些?
  2. SQL Server 日期操作全接触,嘻嘻
  3. 对SQL Server 2005 BI的描述
  4. SQL server DateDiff 函数语法中的命名参数
  5. 批量修改SQL Server 2005表构架很简单!
责任编辑:佚名 来源: 至顶网
相关推荐

2010-06-28 14:30:08

SQL Server

2011-05-11 10:39:01

SQL Serverdatetime数据类优化误区

2011-04-18 10:32:18

SQL Server数据类型设计优化

2010-11-29 10:09:26

SQL Server

2010-09-13 10:10:07

SQL Server2

2010-07-22 17:57:40

2010-09-06 16:25:46

SQL函数

2010-07-20 15:54:02

SQL Server数

2010-07-22 17:47:32

SQL Server数

2010-07-26 14:21:25

SQL Server数

2010-09-13 10:21:26

sql server2

2010-10-19 15:54:38

sql server创

2010-09-25 09:45:46

sql server主

2010-09-13 09:58:17

SQL Server2

2010-07-23 14:18:47

SQL Server数

2010-06-30 11:31:55

SQL Server数

2010-07-22 17:39:44

2010-06-28 11:22:14

MS SQL Serv

2011-08-25 13:31:08

SQL Server批量修改字段存储过程

2009-04-16 17:55:55

SQL Server 空间数据.NET
点赞
收藏

51CTO技术栈公众号