1. 程式人生 > >sqlserver date與datetime區別及sqlserver日期格式轉換

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;