sql2008中时间类型问题

时间:2023-12-18 20:16:44
DATEDIFF (DD ,@sdate ,getdate() )                eg30

  计算从开始日期到今天的天数

datename(weekday,@sdate)                     eg星期三

  查询那一天是星期几

SQL Server 2008除了DateTime和SmallDateTime之外,又新增了四种时间类型,分别为:date,time,datetime2和datetimeoffset。

各时间类型范围、精度一览表:

数据类型 时间范围 精度
datetime 1753-01-01到9999-12-31 
00:00:00 到 23:59:59.997
3.33毫秒
smalldatetime 1900-01-01 到 2079-06-06 
00:00:00 到 23:59:59
分钟
date 0001-01-01 到 9999-12-31
time 00:00:00.0000000 到 23:59:59.9999999 100 纳秒
datetime2 0001-01-01 到 9999-12-31 
00:00:00 到 23:59:59.9999999
100 纳秒
datetimeoffset 0001-01-01 到 9999-12-31 
00:00:00 到 23:59:59.9999999 
-14:00 到 +14:00
100 纳秒

各时间类型表达式一览表:

数据类型 输出
time 12:35:29. 1234567
date 2007-05-08
smalldatetime 2007-05-08 12:35:00
datetime 2007-05-08 12:35:29.123
datetime2 2007-05-08 12:35:29. 1234567
datetimeoffset 2007-05-08 12:35:29.1234567 +12:15

转载请注明本文原创自CSDN TJVictor专栏:

http://blog.csdn.net/tjvictor/archive/2009/07/13/4344429.aspx

所以,要转短时间的话,要这样才行:

 Select convert(date,'2008/09/01',120)