1、获取当前日期:

SELECT getdate()

2、Style ID Style 格式

Style ID  Style 格式
================================
100 或者 0  mm dd yyyy hh:miAM (或者 PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
109 或者 9  mm dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 或者 13 dd mm yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 或者 20 yyyy-mm-dd hh:mi:ss(24h)
121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h)
126 yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130 dd mm yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM
例子:

(1)显示结果 :  2018-08-18

select convert(varchar(10),'2018-08-12 12:00:00',112) as date_type;

(2)显示结果 : 20180818

select convert(varchar(10),getdate(),112) as date_type;

(3)显示结果 : 2018-08-18

select convert(varchar(10),getdate(),120) as date_type;

(4)显示结果 :   2018-08-18 18:08:28

select convert(varchar(20),getdate(),120) as date_type;

     

3、DATEADD()函数:

1. 使用详解

DATEADD()

说明:在日期中添加或减去指定的时间间隔。

语法:

DATEADD(datepart,number,date)

datepart

年份(year)

yy , yyyy , year

季度(quarter)

qq , q , quarter

月份(month)

mm , m , month

年中的日(day of

year)

dy, y

日(day)

dd , d , day

周(week)

wk , ww , week

星期(weekday)

dw, w

小时(hour)

hh , hour

分钟(minute)

mi , n , minute

秒(second)

ss , s , second

毫秒(millisecond

ms

微秒(microsecond)

mcs

纳秒(nanosecond)

ns

例:

加8小时

SELECT dateadd(hh,8,GETDATE())

加1天

SELECT dateadd(d,1,GETDATE())
当月天数
SELECT DAY(EOMONTH(GETDATE()))
当月第一天
Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)	
100个月后当月的第一天
Select dateadd( m, 100,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) )


4、当月日期表:

SELECT CONVERT (VARCHAR (10), dateadd(dd,number, dateadd(dd,-day(getdate())+1,getdate())),120) AS 日期表,
datepart(weekday, dateadd(dd,number, dateadd(dd,-day(getdate())+1,getdate())) ) AS 星期几
FROM master..spt_values n
WHERE n.type = 'p'
and number<datediff(day,dateadd(dd,-day(getdate())+1,getdate()),dateadd(mm,+1,dateadd(dd,-day(getdate())+1,getdate())))

5、近一个月日期表:

SELECT CONVERT(VARCHAR(10),dateadd(dd,-number, getdate()) ,120) AS 日期表
FROM master..spt_values n
WHERE n.type = 'p' and number<=31

附:Date 数据类型

数据类型

描述

样式

存储

date

仅存储日期。从 0001 年

1 月 1 日 到 9999 年 12 月 31 日。

2020-04-15

3 bytes

time

仅存储时间。精度为 100

纳秒。

13:23:22.5333333

3-5 bytes

datetime

从 1753 年 1 月 1

日 到 9999 年 12 月 31 日

2020-04-15 13:24:16.920

8

bytes

精度为 3.33 毫秒。

datetime2

从 1753 年 1 月 1

日 到 9999 年 12 月 31 日

2020-04-15 13:26:07.8100000

6-8

bytes

精度为 100 纳秒。( datetime的升级版 )

smalldatetime

从 1900 年 1 月 1

日 到 2079 年 6 月 6 日

2020-04-15 13:27:00

4

bytes

精度为 1 分钟。

datetimeoffset

与 datetime2 相同

2020-04-15 13:28:01.3133333 +00:00

8-10

bytes

外加时区偏移。

timestamp

存储唯一的数字,每当创建或修改某行时,该数字会更新。

0x0000000000000FA0


timestamp 基于内部时钟,不对应真实时间。

每个表只能有一个 timestamp 变量。( 时间戳 )