❶ ORACLE 中怎麼格式化如下日期
方法:
-- Start
所謂格式化日期指的是將日期轉為字元串,或將字元串轉為日期,下面幾個函數可以用來格式化日期。
[sql] view plain
TO_CHAR(datetime, 'format')
TO_DATE(character, 'format')
TO_TIMESTAMP(character, 'format')
TO_TIMESTAMP_TZ(character, 'format')
先來看看通過下面的 SQL 產生的結果吧,注意,由於語言環境的不同,下面的顯示結果可能不同。
[sql] view plain
SELECT TO_CHAR(current_timestamp, 'format') FROM DUAL;
Format Result
YYYY-MM-DD 2015-06-15
YYYY-MON-DD 2015-JUN-15
YYYY-MM-DD HH24:MI:SS FF3 2015-06-15 13:18:10 700
YYYY-MM-DD HH24:MI:SS FF3 TZR 2015-06-15 13:18:10 700 +08:00
DS 6/15/2015
DL Monday, June 15, 2015
TS 1:18:10 PM
那麼 Oracle 支持哪些格式呢?看看下面的表格吧
Format Description
Y 年的最後一位數字,如:5
YY 年的最後兩位數字,如:15
YYY 年的最後三位數字,如:015
YYYY 年,如:2015
Y,YYY 年用逗號分割
SYYYY 年
YEAR 年拼寫,如:TWENTY FIFTEEN
SYEAR 年拼寫,如:TWENTY FIFTEEN
I ISO年的最後一位數字,如:5
IY ISO年的最後兩位數字,如:15
IYY ISO年的最後三位數字,如:015
IYYY ISO年,如:2015
RR 兩位數字年,如:15
RRRR 四位數字年,如:2015
MM Month (01-12)
MON 月份簡稱,如:JUN
MONTH 月份全稱,如:JUNE
RM 羅馬數字月份
D Day of week (1-7)
DD Day of month (1-31)
DDD Day of year (1-366)
HH Hour of day (1-12)
HH12 Hour of day (1-12)
HH24 Hour of day (0-23)
MI Minute (0-59)
SS Second (0-59)
SSSSS Seconds past midnight
FF [1..9] 毫秒
DS 日期簡稱,如:6/12/2015
DL 日期全稱,如:Friday, June 12, 2015
TS 時間簡稱,如:5:18:03 PM
CC 世紀,如:21
SCC 世紀,如:21
Q Quarter of year (1, 2, 3, 4)
W Week of month (1-5)
WW Week of year (1-53)
IW ISO Week of year (1-52 or 1-53)
DY 星期簡稱,如:Fri
DAY 星期全稱,如:Friday
AM
A.M.
PM
P.M.
AD
A.D.
BC
B.C.
TZD 夏令時
TZR 時區
TZH 時區之時差
TZM 時區之分鍾差
EE era 全稱
E era 簡稱
J The number of days since January 1, 4712 BC
FM 去掉首尾空格
FX 精確匹配
X 秒和毫秒分隔符
TH DDTH --> 4th
SP DDSP -->FOUR
SPTH DDSPTH --> FOURTH
THSP DDTHSP --> FOURTH
默認情況下,Oracle 格式化日期時,有一定的容錯性,如下面的 SQL 返回正確的結果。
[sql] view plain
select to_date('20150612', 'YYYY/MM/DD') from al
select to_date('2015#06#12', 'YYYY/MM/DD') from al
如果你想精確匹配,你可以加上 FX修飾符,如:
[sql] view plain
select to_date('2015/06/12', 'FXYYYY/MM/DD') from al
❷ 如何用SQL Server語句格式化時間
DateTime dt1 = DateTime.Now.ToString().Substring(0, 9);
你可以這樣截取字元串
得到的就是2010-05-28
❸ sqlserver里如何將一個日期值格式化輸出為YYYY年MM月DD日的格式
convert(vatchar(20),workon,23)
❹ 求大神幫忙:Sql Server怎樣格式化一個日期欄位的所有數據
問一下,你的年份怎麼是YYY(3個Y)?
SQL Server CONVERT() 函數
SQL Server Date 函數
定義和用法
CONVERT() 函數是把日期轉換為新數據類型的通用函數。
CONVERT() 函數可以用不同的格式顯示日期/時間數據。
語法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 規定目標數據類型(帶有可選的長度)。data_to_be_converted 含有需要轉換的值。style 規定日期/時間的輸出格式。
可以使用的 style 值:
Style ID
Style 格式
100 或者 0 mon 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 mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 或者 13 dd mon 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 mon yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM
實例
下面的腳本使用 CONVERT() 函數來顯示不同的格式。我們將使用 GETDATE() 函數來獲得當前的日期/時間:
CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)
結果類似:
Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635
❺ sql日期格式化怎麼處理
1. SELECTconvert(varchar, getdate(), 100)-- mon dd yyyy hh:mmAM (or PM)
-- Oct 2 2008 11:01AM
SELECTconvert(varchar, getdate(), 101)-- mm/dd/yyyy - 10/02/2008
SELECTconvert(varchar, getdate(), 102)-- yyyy.mm.dd -- 2008.10.02
SELECTconvert(varchar, getdate(), 103)-- dd/mm/yyyy
SELECTconvert(varchar, getdate(), 104)-- dd.mm.yyyy
SELECTconvert(varchar, getdate(), 105)-- dd-mm-yyyy
SELECTconvert(varchar, getdate(), 106)-- dd mon yyyy
SELECTconvert(varchar, getdate(), 107)-- mon dd, yyyy
SELECTconvert(varchar, getdate(), 108)-- hh:mm:ss
SELECTconvert(varchar, getdate(), 109)-- mon dd yyyy hh:mm:ss:mmmAM (or PM)
-- Oct 2 2008 11:02:44:013AM
SELECTconvert(varchar, getdate(), 110)-- mm-dd-yyyy
SELECTconvert(varchar, getdate(), 111)-- yyyy/mm/dd
SELECTconvert(varchar, getdate(), 112)-- yyyymmdd
SELECTconvert(varchar, getdate(), 113)-- dd mon yyyy hh:mm:ss:mmm
-- 02 Oct 2008 11:02:07:577
SELECTconvert(varchar, getdate(), 114)-- hh:mm:ss:mmm(24h)
SELECTconvert(varchar, getdate(), 120)-- yyyy-mm-dd hh:mm:ss(24h)
SELECTconvert(varchar, getdate(), 121)-- yyyy-mm-dd hh:mm:ss.mmm
SELECTconvert(varchar, getdate(), 126)-- yyyy-mm-ddThh:mm:ss.mmm
-- 2008-10-02T10:52:47.513
-- 利用字元串函數創建不同的日期格式
SELECTreplace(convert(varchar, getdate(), 111),'/',' ')-- yyyy mm dd
SELECTconvert(varchar(7), getdate(), 126)-- yyyy-mm
SELECTright(convert(varchar, getdate(), 106), 8)-- mon yyyy
go
--通用的日期轉換函數CREATE FUNCTION dbo.fnFormatDate (@Datetime DATETIME, @FormatMask VARCHAR(32))RETURNS VARCHAR(32)AS
BEGIN
DECLARE@StringDateVARCHAR(32)
SET@StringDate = @FormatMask
IF (CHARINDEX ('YYYY',@StringDate) > 0)
SET@StringDate =REPLACE(@StringDate,'YYYY',DATENAME(YY, @Datetime))
IF (CHARINDEX ('YY',@StringDate) > 0)
SET@StringDate =REPLACE(@StringDate,'YY',RIGHT(DATENAME(YY, @Datetime),2))
IF (CHARINDEX ('Month',@StringDate) > 0)
SET@StringDate =REPLACE(@StringDate,'Month',DATENAME(MM, @Datetime))
IF (CHARINDEX ('MON',@StringDateCOLLATESQL_Latin1_General_CP1_CS_AS)>0)
SET@StringDate =REPLACE(@StringDate,'MON',LEFT(UPPER(DATENAME(MM, @Datetime)),3))
IF (CHARINDEX ('Mon',@StringDate) > 0)
SET@StringDate =REPLACE(@StringDate,'Mon',LEFT(DATENAME(MM, @Datetime),3))
IF (CHARINDEX ('MM',@StringDate) > 0)
SET@StringDate =REPLACE(@StringDate,'MM',RIGHT('0'+CONVERT(VARCHAR,DATEPART(MM, @Datetime)),2))
IF (CHARINDEX ('M',@StringDate) > 0)
SET@StringDate =REPLACE(@StringDate,'M',CONVERT(VARCHAR,DATEPART(MM, @Datetime)))
IF (CHARINDEX ('DD',@StringDate) > 0)
SET@StringDate =REPLACE(@StringDate,'DD',right('0'+DATENAME(DD, @Datetime),2))
IF (CHARINDEX ('D',@StringDate) > 0)
SET@StringDate =REPLACE(@StringDate,'D',DATENAME(DD, @Datetime))
RETURN@StringDate
GO
2.通過dateadd函數來制定時間間隔
select dateadd(year,-1,convert(varchar, getdate(), 101))前一年,後一年反之
select dateadd(month,-1,convert(varchar, getdate(), 101))前一月,後一月反之
❻ sql日期格式化
sql server中使用convert來取得datetime數據類型樣式(全)
日期數據格式的處理,兩個示例:
CONVERT(varchar(16), 時間一, 20) 結果:2007-02-01 08:02/*時間一般為getdate()函數或數據表裡的欄位*/
CONVERT(varchar(10), 時間一, 23) 結果:2007-02-01 /*varchar(10)表示日期輸出的格式,如果不夠長會發生截取*/
語句及查詢結果:
SelectCONVERT(varchar(100),GETDATE(),0)--0516200610:57AM
SelectCONVERT(varchar(100),GETDATE(),1)--05/16/06
SelectCONVERT(varchar(100),GETDATE(),2)--06.05.16
SelectCONVERT(varchar(100),GETDATE(),3)--16/05/06
SelectCONVERT(varchar(100),GETDATE(),4)--16.05.06
SelectCONVERT(varchar(100),GETDATE(),5)--16-05-06
SelectCONVERT(varchar(100),GETDATE(),6)--160506
SelectCONVERT(varchar(100),GETDATE(),7)--0516,06
SelectCONVERT(varchar(100),GETDATE(),8)--10:57:46
SelectCONVERT(varchar(100),GETDATE(),9)--0516200610:57:46:827AM
SelectCONVERT(varchar(100),GETDATE(),10)--05-16-06
SelectCONVERT(varchar(100),GETDATE(),11)--06/05/16
SelectCONVERT(varchar(100),GETDATE(),12)--060516
SelectCONVERT(varchar(100),GETDATE(),13)--1605200610:57:46:937
SelectCONVERT(varchar(100),GETDATE(),14)--10:57:46:967
SelectCONVERT(varchar(100),GETDATE(),20)--2006-05-1610:57:47
SelectCONVERT(varchar(100),GETDATE(),21)--2006-05-1610:57:47.157
SelectCONVERT(varchar(100),GETDATE(),22)--05/16/0610:57:47AM
SelectCONVERT(varchar(100),GETDATE(),23)--2006-05-16
SelectCONVERT(varchar(100),GETDATE(),24)--10:57:47
SelectCONVERT(varchar(100),GETDATE(),25)--2006-05-1610:57:47.250
SelectCONVERT(varchar(100),GETDATE(),100)--0516200610:57AM
SelectCONVERT(varchar(100),GETDATE(),101)--05/16/2006
SelectCONVERT(varchar(100),GETDATE(),102)--2006.05.16
SelectCONVERT(varchar(100),GETDATE(),103)--16/05/2006
SelectCONVERT(varchar(100),GETDATE(),104)--16.05.2006
SelectCONVERT(varchar(100),GETDATE(),105)--16-05-2006
SelectCONVERT(varchar(100),GETDATE(),106)--16052006
SelectCONVERT(varchar(100),GETDATE(),107)--0516,2006
SelectCONVERT(varchar(100),GETDATE(),108)--10:57:49
SelectCONVERT(varchar(100),GETDATE(),109)--0516200610:57:49:437AM
SelectCONVERT(varchar(100),GETDATE(),110)--05-16-2006
SelectCONVERT(varchar(100),GETDATE(),111)--2006/05/16
SelectCONVERT(varchar(100),GETDATE(),112)--20060516
SelectCONVERT(varchar(100),GETDATE(),113)--1605200610:57:49:513
SelectCONVERT(varchar(100),GETDATE(),114)--10:57:49:547
SelectCONVERT(varchar(100),GETDATE(),120)--2006-05-1610:57:49
SelectCONVERT(varchar(100),GETDATE(),121)--2006-05-1610:57:49.700
SelectCONVERT(varchar(100),GETDATE(),126)--2006-05-16T10:57:49.827
SelectCONVERT(varchar(100),GETDATE(),130)--18??????????142710:57:49:907AM
SelectCONVERT(varchar(100),GETDATE(),131)--18/04/142710:57:49:920AM
說明:
使用 CONVERT:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
參數
expression
是任何有效的 Microsoft® SQL Server™ 表達式。。
data_type
目標系統所提供的數據類型,包括 bigint 和 sql_variant。不能使用用戶定義的數據類型。
length
nchar、nvarchar、char、varchar、binary 或 varbinary 數據類型的可選參數。
style
日期格式樣式,藉以將 datetime 或 smalldatetime 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型);或者字元串格式樣式,藉以將 float、real、money 或 smallmoney 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型)。
SQL Server 支持使用科威特演算法的阿拉伯樣式中的數據格式。
在表中,左側的兩列表示將 datetime 或 smalldatetime 轉換為字元數據的 style 值。給 style 值加 100,可獲得包括世紀數位的四位年份 (yyyy)。
不帶世紀數位 (yy) 帶世紀數位 (yyyy)
標准
輸入/輸出**
- 0 或 100 (*) 默認值 mon dd yyyy hh:miAM(或 PM)
1 101 美國 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英國/法國 dd/mm/yy
4 104 德國 dd.mm.yy
5 105 義大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 默認值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美國 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 歐洲默認值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 規范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*) ODBC 規范(帶毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss.mmm(不含空格)
- 130* Hijri**** dd mon yyyy hh:mi:ss:mmmAM
- 131* Hijri**** dd/mm/yy hh:mi:ss:mmmAM
* 默認值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始終返回世紀數位 (yyyy)。
** 當轉換為 datetime時輸入;當轉換為字元數據時輸出。
*** 專門用於 XML。對於從 datetime或 smalldatetime 到 character 數據的轉換,輸出格式如表中所示。對於從 float、money 或 smallmoney 到 character 數據的轉換,輸出等同於 style 2。對於從 real 到 character 數據的轉換,輸出等同於 style 1。
****Hijri 是具有幾種變化形式的日歷系統,Microsoft® SQL Server™ 2000 使用其中的科威特演算法。重要 默認情況下,SQL Server 根據截止年份 2049 解釋兩位數字的年份。即,兩位數字的年份 49 被解釋為 2049,而兩位數字的年份 50 被解釋為 1950。許多客戶端應用程序(例如那些基於 OLE 自動化對象的客戶端應用程序)都使用 2030 作為截止年份。SQL Server 提供一個配置選項("兩位數字的截止年份"),藉以更改 SQL Server 所使用的截止年份並對日期進行一致性處理。然而最安全的辦法是指定四位數字年份。
當從 smalldatetime 轉換為字元數據時,包含秒或毫秒的樣式將在這些位置上顯示零。當從 datetime 或 smalldatetime 值進行轉換時,可以通過使用適當的 char 或 varchar 數據類型長度來截斷不需要的日期部分。
❼ 如何在 SQL Server中 將日期格式化
SqlServer中一個非常強大的日期格式化函數
SelectCONVERT(varchar(100),GETDATE(),0):0516200610:57AM
SelectCONVERT(varchar(100),GETDATE(),1):05/16/06
SelectCONVERT(varchar(100),GETDATE(),2):06.05.16
SelectCONVERT(varchar(100),GETDATE(),3):16/05/06
SelectCONVERT(varchar(100),GETDATE(),4):16.05.06
SelectCONVERT(varchar(100),GETDATE(),5):16-05-06
SelectCONVERT(varchar(100),GETDATE(),6):160506
SelectCONVERT(varchar(100),GETDATE(),7):0516,06
SelectCONVERT(varchar(100),GETDATE(),8):10:57:46
SelectCONVERT(varchar(100),GETDATE(),9):0516200610:57:46:827AM
SelectCONVERT(varchar(100),GETDATE(),10):05-16-06
SelectCONVERT(varchar(100),GETDATE(),11):06/05/16
SelectCONVERT(varchar(100),GETDATE(),12):060516
SelectCONVERT(varchar(100),GETDATE(),13):1605200610:57:46:937
SelectCONVERT(varchar(100),GETDATE(),14):10:57:46:967
SelectCONVERT(varchar(100),GETDATE(),20):2006-05-1610:57:47
SelectCONVERT(varchar(100),GETDATE(),21):2006-05-1610:57:47.157
SelectCONVERT(varchar(100),GETDATE(),22):05/16/0610:57:47AM
SelectCONVERT(varchar(100),GETDATE(),23):2006-05-16
SelectCONVERT(varchar(100),GETDATE(),24):10:57:47
SelectCONVERT(varchar(100),GETDATE(),25):2006-05-1610:57:47.250
SelectCONVERT(varchar(100),GETDATE(),100):0516200610:57AM
SelectCONVERT(varchar(100),GETDATE(),101):05/16/2006
SelectCONVERT(varchar(100),GETDATE(),102):2006.05.16
SelectCONVERT(varchar(100),GETDATE(),103):16/05/2006
SelectCONVERT(varchar(100),GETDATE(),104):16.05.2006
SelectCONVERT(varchar(100),GETDATE(),105):16-05-2006
SelectCONVERT(varchar(100),GETDATE(),106):16052006
SelectCONVERT(varchar(100),GETDATE(),107):0516,2006
SelectCONVERT(varchar(100),GETDATE(),108):10:57:49
SelectCONVERT(varchar(100),GETDATE(),109):0516200610:57:49:437AM
SelectCONVERT(varchar(100),GETDATE(),110):05-16-2006
SelectCONVERT(varchar(100),GETDATE(),111):2006/05/16
SelectCONVERT(varchar(100),GETDATE(),112):20060516
SelectCONVERT(varchar(100),GETDATE(),113):1605200610:57:49:513
SelectCONVERT(varchar(100),GETDATE(),114):10:57:49:547
SelectCONVERT(varchar(100),GETDATE(),120):2006-05-1610:57:49
SelectCONVERT(varchar(100),GETDATE(),121):2006-05-1610:57:49.700
SelectCONVERT(varchar(100),GETDATE(),126):2006-05-16T10:57:49.827
SelectCONVERT(varchar(100),GETDATE(),130):18??????????142710:57:49:907AMSelectCONVERT(varchar(100),GETDATE(),131):18/04/142710:57:49:920AM
常用:
SelectCONVERT(varchar(100),GETDATE(),8):10:57:46
SelectCONVERT(varchar(100),GETDATE(),24):10:57:47
SelectCONVERT(varchar(100),GETDATE(),108):10:57:49
SelectCONVERT(varchar(100),GETDATE(),12):060516
SelectCONVERT(varchar(100),GETDATE(),23):2006-05-16
上述的相關內容就是對SqlServer日期格式化的描述,希望會給你帶來一些幫助在此方面。
❽ 如何在 SQL Server中 將日期格式化
1、常用日期方法(下面的GetDate() = '2006-11-08 13:37:56.233')
(1)DATENAME ( datepart ,date )
返回表示指定日期的指定日期部分的字元串。Datepart詳見下面的列表.
SELECT DateName(day,Getdate()) –返回8
(2)DATEPART ( datepart , date )
返回表示指定日期的指定日期部分的整數。
SELECT DATEPART(year,Getdate()) –返回2006
(3)DATEADD (datepart , number, date )
返回給指定日期加上一個時間間隔後的新datetime 值。
SELECT DATEADD(week,1,GetDate()) --當前日期加一周後的日期
(4)DATEDIFF ( datepart , startdate , enddate )
返回跨兩個指定日期的日期邊界數和時間邊界數。
SELECT DATEDIFF(month,'2006-10-11','2006-11-01') --返回1
(5)DAY ( date )
返回一個整數,表示指定日期的天datepart 部分。
SELECT day(GetDate()) –返回8
(6)GETDATE()
以datetime 值的SQL Server 2005 標准內部格式返回當前系統日期和時間。
SELECT GetDate() --返回2006-11-08 13:37:56.233
(7)MONTH ( date )
返回表示指定日期的「月」部分的整數。
SELECT MONTH(GETDATE()) --返回11
(8)YEAR ( date )
返回表示指定日期的「年」部分的整數。
SELECT YEAR(GETDATE()) --返回2006
2、取特定日期
(1)獲得當前日期是星期幾
SELECT DateName(weekday,Getdate()) --Wednesday
(2)計算哪一天是本周的星期一
SELECT DATEADD(week, DATEDIFF(week,'1900-01-01',getdate()), '1900-01-01') --返回2006-11-06 00:00:00.000
或
SELECT DATEADD(week, DATEDIFF(week,0,getdate()),0)
(3)當前季度的第一天
SELECT DATEADD(quarter, DATEDIFF(quarter,0,getdate()), 0)—返回2006-10-01 00:00:00.000
(4)如何取得某個月的天數
SELECT Day(dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,'2006-02-03')+1,0))) —返回28
(5)一個季度多少天
declare @m tinyint,@time smalldatetime
select @m=month(getdate())
select @m=case when @m between 1 and 3 then 1
when @m between 4 and 6 then 4
when @m between 7 and 9 then 7
else 10 end
select @time=datename(year,getdate())+'-'+convert(varchar(10),@m)+'-01'
select datediff(day,@time,dateadd(mm,3,@time)) —返回92
(6)獲得年月日(yyyy-MM-dd)
SELECT CONVERT(VARCHAR(10),GETDATE(),120) –返回2006-11-08
3、其它
(1)--下面的示例將日期指定為數字。資料庫引擎將0 解釋為1900 年1 月1 日。
SELECT MONTH(0), DAY(0), YEAR(0) –返回1 1 1900
--下面兩句是等效的
SELECT DATENAME(WEEKDAY,0)
SELECT DATENAME(WEEKDAY,'1900-01-01')
(2)SET DATEFIRST { number | @number_var }
將一周的第一天設置為從1 到7 的一個數字。
SET DATEFIRST 1 --表示一周的第一天是「星期一"
SELECT DATENAME(WEEKDAY,GETDATE()) --Wednesday
SELECT DATEPART(weekday,GETDATE()) --返回3
--查看當前設置情況
select @@DATEFIRST
(3)SET DATEFORMAT { format | @format_var }
設置用於輸入datetime 或smalldatetime 數據的日期部分(月/日/年)的順序。
...有效參數包括mdy、dmy、ymd、ydm、myd 和dym。
...該設置僅用在將字元串轉換為日期值時的解釋中。它不影響日期值的顯示。
...SET DATEFORMAT 的設置是在執行或運行時設置,而不是在分析時設置。
...SET DATEFORMAT 將覆蓋SET LANGUAGE 的隱式日期格式設置。
下面是例子:
-- Set date format to year, day, month.
SET DATEFORMAT ydm;
GO
DECLARE @datevar DATETIME;
SET @datevar = '1998/31/12';
SELECT @datevar AS DateVar;
GO
-- Set date format to year, month, day.
SET DATEFORMAT ymd;
GO
DECLARE @datevar DATETIME;
SET @datevar = '1998/12/31';
SELECT @datevar AS DateVar;
GO
(4)日期部分的列表
year,縮寫 yy, yyyy
quarter,縮寫qq, q
month,縮寫mm, m
dayofyear,縮寫dy, y
day,縮寫dd, d
week,縮寫wk, ww
weekday,縮寫dw
hour,縮寫hh
minute,縮寫mi, n
second,縮寫ss, s
millisecond,縮寫ms
數據類型
范圍(精確度)
datetime
1753 年 1 月 1 日到 9999 年 12 月 31 日
3.33 毫秒
smalldatetime
1900 年 1 月 1 日到 2079 年 6 月 6 日
1 分鍾
❾ sql 格式化輸出時間
sql格式化輸出時間一般用convert函數。
語法:
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length)規定目標數據類型(帶有可選的長度)。data_to_be_converted含有需要轉換的值。style規定日期/時間的輸出格式。
可以使用的style值: