SQL Server中的日期/时间
数据类型
SQL Server中的日期/时间数据类型
在SQL Server 2005中使用日期/时间值有时候会很模糊、会觉得很迷茫。因为日期/时间数据类型同时存储日期和时间值,而这些值的操作并不总是一个简单的过程,或者看起来不简单的。
SQL Server 2005的DATETIME和SMALLDATETIME基础
理解SQL Server的日期/时间数据类型是有一定难度的,尤其是混合使用TIMESTAMP 的时候。在关于日期/时间的这一系列的第一部分,你将了解到关于数据是如何存储在DATETIME和SMALLDATETIME的基础知识,以及大致地了解TIMESTAMP数据类型——它经常与两种主要的日期/时间数据类型相混淆。
SQL Server 2005的DATETIME和SMALLDATETIME基础(一)
SQL Server 2005的DATETIME和SMALLDATETIME基础(二)
SQL Server 2005的DATETIME和SMALLDATETIME基础(三)datediff是字符型函数
SQL Server中日期/时间值到字符类型的数据转换
在本文中,我将解释如何将DATETIME和SMALLDATETIME数据类型转换成字符数据,以及如何将字符数据转换成日期/时间数据。具体来说,本章将介绍Transat-SQL支持的两个内置SQL Server数据转
换方法——隐式转换和显式转换。在前一篇的技巧《SQL Server 2005的DATETIME和SMALLDATETIME数据基础》中,我已经阐述了SQL Server是如何使用DATETIME和SMALLDATETIME数据类型来存储日期/时间数据的。在本文中,我将解释日期/时间数据是如何转换成字符数据和字符数据是如何转换成日期/时间数据以及Transact-SQL是如何支持这两种执行这些数据转换的方法——隐式转换和显式转换。
SQL Server中日期/时间值到字符类型的数据转换(一)
SQL Server中日期/时间值到字符类型的数据转换(二)
正确使用SQL Server的datetime函数
Transact-SQL包含一组函数可以用于检索当前的日期和时间或一个DATETIME或SMALLDATETIME值的某个部分。比如,你可以在DATETIME值中提取日、月或年以及季度、周、小时甚至毫秒。在本文中,我将对这些函数进行阐述并举例说明如何使用SQL Server 中的这些函数来查询数据的。注意,本文假定你已经具备了一定的T-SQL、DATETIME和SMALLDATETIME数据类型的知识。想获得更多这些类型的信息,你可以阅读这一系列的第一部分“SQL Server 2005的DATETIME和SMALLDATETIME基础”。
使用SQL Server的datetime函数:GETDATE、DATENAME和DATEPART(一) 使用SQL Server的datetime函数:GETDATE、DATENAME和DATEPART(二)
使用DATEADD和DATEDIFF计算SQL Server的DATETIME值
在SQL Server数据库中,DATETIME和SMALLDATETIME值是以整数存储的。然而,与整数不同的是,它们不能直接地进行数学运算。尽管如此,有时候还是需要在日期/时间值中添加或减去一个时间间隔。比如,你可能想在一值上加一些月数或天数,或者甚至可能是小时数。你甚至可能想比较两个日期/时间值以便确定它们之间的时间间隔,如相差的天数或年数。为了简化这些类型的计算,Transact-SQL支持两个重要的日期/时间方法:DATEADD和DATEDIFF。
使用DATEADD和DATEDIFF来计算SQL Server的DATETIME值(一)
使用DATEADD和DATEDIFF来计算SQL Server的DATETIME值(二)
SQL Server 2008中新的datetime数据类型
在这一技巧系列中我讲了SQL Server的datetime值的很多方面。我所举的这些例子都是用在SQL Server 2005中的,尽管我在那些文章中讨论的东西在SQL Server 2008中也同样适用。在这篇技巧中,我将进一步讨论datetime值,并特别强调能够用在SQL Server2008中新的datetime数据类型。它们包括DATE、TIME、DATETIME2以及DATETIMEOFFSET类型,因为这些类型T-SQL语言都支持。
SQL Server 2008中新的datetime数据类型具有灵活性(一)
SQL Server 2008中新的datetime数据类型具有灵活性(二)
SQL Server 2005的DATETIME和SMALLDATETIME基础(一)
理解SQL Server的日期/时间数据类型是有一定难度的,尤其是混合使用TIMESTAMP 的时候。在关于日期/时间的这一系列的第一部分,你将了解到关于数据是如何存储在DATETIME和SMALLDATETIME的基础知识,以及大致地了解TIMESTAMP数据类型——它经常与两种主要的日期/时间数据类型相混淆。
在SQL Server 2005使用日期/时间值有时候会很混淆。因为日期/时间数据类型同时存储日期和时间值,而这些值的操作并不总是一个简单的过程,或者看起来不简单的。
当操作这类数据时,对于这些数据类型有一个基本的了解是很有重要的。在本文中,我将介绍SQL Se
rver中的两种基本的日期/时间数据类型——DATETIME和SMALLDATETIME,以及数据是如何在这两种类型中存储的。另外,我还将概括介绍TIMESTAMP数据类型,这样你就可以了解到它与两种日期/时间数据类型的不同。
SQL Server的DATETIME数据类型
毫无疑问,DATETIEM数据类型对你的应用是最有用的。DATETIME字段(或一个变量)中的值是以两个4位整型存储的。第一个整型表示日期,而第二个整型表示时间。
我们是从基准日期1900年1月1日开始的计算日期的整数的。整数表示该日期之前或之后的天数。因此,DATETIME数据类型仅仅支持由4位范围整数表示的日期。这就意味着DATETIME字段的一个日期必须处于1735年1月1日到9999年12月31日之间。
第二个在DATETIME值的整数,即时间整数,存储了午夜后的1/300-秒单位的数字。这就意味着时间是以毫秒为单位存储的,并精确到3.33毫秒。因此,当你在DATETIME字段中插入一个值,SQL Server将把时间转换成.000、.003或.007秒。下面的表显示了SQL Server是圆整时间值的几个例子:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论