sqlserver date与datetime区别及sqlserver日期格式转换

date是SQL Server 2008新引进的数据类型。它表示一个日子,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日。只需要3个字节的存储空间。
DateTime 日期和时间部分,可以表示的日期范围从公元1753年1月1日00:00:00.000 到9999年12月31日23:59:59.997 ,精确到3.33毫秒,它需要8个字节的存储空间。

Sqlserver日期转换

Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006  10:57AM

Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06

Select  CONVERT(varchar(100), GETDATE(), 2): 06.05.16

Select CONVERT(varchar(100),  GETDATE(), 3): 16/05/06

Select CONVERT(varchar(100), GETDATE(), 4):  16.05.06

Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06

Select  CONVERT(varchar(100), GETDATE(), 6): 16 05 06

Select CONVERT(varchar(100),  GETDATE(), 7): 05 16, 06

Select CONVERT(varchar(100), GETDATE(), 8):  10:57:46

Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006  10:57:46:827AM

Select CONVERT(varchar(100), GETDATE(), 10):  05-16-06

Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16

Select  CONVERT(varchar(100), GETDATE(), 12): 060516

Select CONVERT(varchar(100),  GETDATE(), 13): 16 05 2006 10:57:46:937

Select CONVERT(varchar(100),  GETDATE(), 14): 10:57:46:967

Select CONVERT(varchar(100), GETDATE(), 20):  2006-05-16 10:57:47

Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16  10:57:47.157

Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47  AM

Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16

Select  CONVERT(varchar(100), GETDATE(), 24): 10:57:47

Select CONVERT(varchar(100),  GETDATE(), 25): 2006-05-16 10:57:47.250

Select CONVERT(varchar(100),  GETDATE(), 100): 05 16 2006 10:57AM

Select CONVERT(varchar(100), GETDATE(),  101): 05/16/2006

Select CONVERT(varchar(100), GETDATE(), 102):  2006.05.16

Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006

Select  CONVERT(varchar(100), GETDATE(), 104): 16.05.2006

Select  CONVERT(varchar(100), GETDATE(), 105): 16-05-2006

Select  CONVERT(varchar(100), GETDATE(), 106): 16 05 2006

Select  CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006

Select  CONVERT(varchar(100), GETDATE(), 108): 10:57:49

Select CONVERT(varchar(100),  GETDATE(), 109): 05 16 2006 10:57:49:437AM

Select CONVERT(varchar(100),  GETDATE(), 110): 05-16-2006

Select CONVERT(varchar(100), GETDATE(), 111):  2006/05/16

Select CONVERT(varchar(100), GETDATE(), 112): 20060516

Select  CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513

Select  CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547

Select  CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49

Select  CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700

Select  CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827

Select  CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427  10:57:49:907AM

Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427  10:57:49:920AM

 

-- 月份加2

select DATEADD(MONTH,2,(select GETDATE()));

 

获取2013-01-01到当前时间的每一天,需要增加一张days表,字段days为1-10000

declare @begin datetime,@end datetime

set @begin='2013-01-01'

set @end=CONVERT(date,GETDATE(),23)

 

declare @months int

set @months=DATEDIFF(DAY,@begin,@end)  -- 获取开始日期与结束日期的天数

select convert(varchar(10),DATEADD(DAY,days,@begin) ,112) AS 月份  -- 增加一天

from days 

where days<=@months;

posted @ 2019-01-09 08:43  cat_fish  阅读(22301)  评论(2编辑  收藏  举报