獲取當前日期利用 convert 來轉換成我們需要的datetime格式.
20040912
------------------------------------------------------------
2004.09.12
------------------------------------------------------------
09/12/2004
------------------------------------------------------------
12/09/2004
------------------------------------------------------------
12.09.2004
------------------------------------------------------------
12-09-2004
------------------------------------------------------------
12 09 2004
------------------------------------------------------------
09 12, 2004
------------------------------------------------------------
11:06:08
------------------------------------------------------------
09 12 2004 1
------------------------------------------------------------
09-12-2004
------------------------------------------------------------
12 09 2004 1
------------------------------------------------------------
11:06:08.177
------------------------------------------------------------
declare @dateTime DateTime--定義一個datetime的變量
set @dateTime=getdate(); --獲取系統當前時間,並賦值給@dateTime字段
--短日期格式:yyyy-m-d
--長日期格式:yyyy年mm月dd日
--長日期格式:yyyy年m月d日
--完整日期+時間格式:yyyy-mm-dd hh:mi:ss:mmm
------------------------------------------------------------------------------------------------
2、日期推算處理
1.指定日期該年的第一天或最后一天
1.1 年的第一天
1.2 年的最后一天
2.指定日期所在季度的第一天或最后一天
2.1 季度的第一天
select
CONVERT(
varchar(
12) ,
getdate(),
112 )
------------------------------------------------------------
select
CONVERT(
varchar(
12) ,
getdate(),
102 )
------------------------------------------------------------
select
CONVERT(
varchar(
12) ,
getdate(),
101 )
------------------------------------------------------------
select
CONVERT(
varchar(
12) ,
getdate(),
103 )
------------------------------------------------------------
select
CONVERT(
varchar(
12) ,
getdate(),
104 )
------------------------------------------------------------
select
CONVERT(
varchar(
12) ,
getdate(),
105 )
------------------------------------------------------------
select
CONVERT(
varchar(
12) ,
getdate(),
106 )
------------------------------------------------------------
select
CONVERT(
varchar(
12) ,
getdate(),
107 )
------------------------------------------------------------
select
CONVERT(
varchar(
12) ,
getdate(),
108 )
------------------------------------------------------------
select
CONVERT(
varchar(
12) ,
getdate(),
109 )
------------------------------------------------------------
select
CONVERT(
varchar(
12) ,
getdate(),
110 )
------------------------------------------------------------
select
CONVERT(
varchar(
12) ,
getdate(),
113 )
------------------------------------------------------------
select
CONVERT(
varchar(
12) ,
getdate(),
114 )
------------------------------------------------------------
declare @dateTime DateTime--定義一個datetime的變量
set @dateTime=getdate(); --獲取系統當前時間,並賦值給@dateTime字段
--短日期格式:yyyy-m-d
SELECT
REPLACE(
CONVERT(
varchar(
10),
@dateTime,
120),N
'
-0
',
'
-
')
--長日期格式:yyyy年mm月dd日
SELECT
STUFF(
STUFF(
CONVERT(
char(
8),
@dateTime,
112),
5,
0,N
'
年
'),
8,
0,N
'
月
')
+N
'
日
'
--長日期格式:yyyy年m月d日
SELECT
DATENAME(
Year,
@dateTime)
+N
'
年
'
+
CAST(
DATEPART(
Month,
@dateTime)
AS
varchar)
+N
'
月
'
+
DATENAME(
Day,
@dateTime)
+N
'
日
'
--完整日期+時間格式:yyyy-mm-dd hh:mi:ss:mmm
SELECT
CONVERT(
char(
11),
@dateTime,
120)
+
CONVERT(
char(
12),
@dateTime,
114)
------------------------------------------------------------------------------------------------
2、日期推算處理
DECLARE
@dt
datetime
SET @dt = GETDATE()
DECLARE @number int
SET @number = 3
SET @dt = GETDATE()
DECLARE @number int
SET @number = 3
1.指定日期該年的第一天或最后一天
1.1 年的第一天
SELECT
CONVERT(
char(
5),
@dt,
120)
+
'
1-1
'
1.2 年的最后一天
SELECT
CONVERT(
char(
5),
@dt,
120)
+
'
12-31
'
2.指定日期所在季度的第一天或最后一天
2.1 季度的第一天
SELECT
CONVERT(
datetime,
CONVERT(
char(
8),
DATEADD(
Month,
DATEPART(Quarter,
@dt)
*
3
-
Month(
@dt)
-
2,
@dt), 120) + ' 1 ')
@dt), 120) + ' 1 ')
2.2 季度的最后一天(CASE判斷法)
SELECT
CONVERT(
datetime,
CONVERT(
char(
8),
DATEADD(
Month,
DATEPART(Quarter,
@dt)
*
3
-
Month(
@dt),
@dt),
120)
+
CASE
WHEN
DATEPART(Quarter,
@dt)
in(
1,
4)
THEN
'
31
'
ELSE
'
30
'
END)
2.3 季度的最后一天(直接推算法)
SELECT
DATEADD(
Day,
-
1,
CONVERT(
char(
8),
DATEADD(
Month,
1
+
DATEPART(Quarter,
@dt)
*
3
-
Month(
@dt),
@dt),
120)
+
'
1
')
3.指定日期所在月份的第一天或最后一天
3.1 月的第一天
SELECT
CONVERT(
datetime,
CONVERT(
char(
8),
@dt,
120)
+
'
1
')
3.2 月的最后一天
SELECT
DATEADD(
Day,
-
1,
CONVERT(
char(
8),
DATEADD(
Month,
1,
@dt),
120)
+
'
1
')
3.3 月的最后一天(容易使用的錯誤方法)
SELECT
DATEADD(
Month,
1,
DATEADD(
Day,
-
DAY(
@dt),
@dt))
3.4 指定日期所在周的任意一天
SELECT
DATEADD(
Day,
@number
-
DATEPART(Weekday,
@dt),
@dt)
5.指定日期所在周的任意星期幾
5.1 星期天做為一周的第1天
SELECT
DATEADD(
Day,
@number
-(
DATEPART(Weekday,
@dt)
+
@@DATEFIRST
-
1)
%
7,
@dt)
5.2 星期一做為一周的第1天
SELECT
DATEADD(
Day,
@number
-(
DATEPART(Weekday,
@dt)
+
@@DATEFIRST
-
2)
%
7
-
1,
@dt)