?? 2.3.3 set dateformat對日期處理的影響.sql
字號:
--1.
/*--說明
SET DATEFORMAT設(shè)置對使用CONVERT把字符型日期轉(zhuǎn)換為日期的處理也具有影響
但不影響明確指定了style的CONVERT處理。
--*/
--示例 ,在下面的示例中,第一個CONVERT轉(zhuǎn)換未指定style,轉(zhuǎn)換的結(jié)果受SET DATAFORMAT的影響,第二個CONVERT轉(zhuǎn)換指定了style,轉(zhuǎn)換結(jié)果受style的影響。
--設(shè)置輸入日期順序為 日/月/年
SET DATEFORMAT DMY
--不指定Style參數(shù)的CONVERT轉(zhuǎn)換將受到SET DATEFORMAT的影響
SELECT CONVERT(datetime,'2-1-2005')
--結(jié)果: 2005-01-02 00:00:00.000
--指定Style參數(shù)的CONVERT轉(zhuǎn)換不受SET DATEFORMAT的影響
SELECT CONVERT(datetime,'2-1-2005',101)
--結(jié)果: 2005-02-01 00:00:00.000
GO
--2.
/*--說明
如果輸入的日期包含了世紀部分,則對日期進行解釋處理時
年份的解釋不受SET DATEFORMAT設(shè)置的影響。
--*/
--示例,在下面的代碼中,同樣的SET DATEFORMAT設(shè)置,輸入日期的世紀部分與不輸入日期的世紀部分,解釋的日期結(jié)果不同。
DECLARE @dt datetime
--設(shè)置SET DATEFORMAT為:月日年
SET DATEFORMAT MDY
--輸入的日期中指定世紀部分
SET @dt='01-2002-03'
SELECT @dt
--結(jié)果: 2002-01-03 00:00:00.000
--輸入的日期中不指定世紀部分
SET @dt='01-02-03'
SELECT @dt
--結(jié)果: 2003-01-02 00:00:00.000
GO
--3.
/*--說明
如果輸入的日期不包含日期分隔符,那么SQL Server在對日期進行解釋時
將忽略SET DATEFORMAT的設(shè)置。
--*/
--示例,在下面的代碼中,不包含日期分隔符的字符日期,在不同的SET DATEFORMAT設(shè)置下,其解釋的結(jié)果是一樣的。
DECLARE @dt datetime
--設(shè)置SET DATEFORMAT為:月日年
SET DATEFORMAT MDY
SET @dt='010203'
SELECT @dt
--結(jié)果: 2001-02-03 00:00:00.000
--設(shè)置SET DATEFORMAT為:日月年
SET DATEFORMAT DMY
SET @dt='010203'
SELECT @dt
--結(jié)果: 2001-02-03 00:00:00.000
--輸入的日期中包含日期分隔符
SET @dt='01-02-03'
SELECT @dt
--結(jié)果: 2003-02-01 00:00:00.000
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -