當前位置:首頁 » 編程語言 » sql怎麼格式化一個日期
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql怎麼格式化一個日期

發布時間: 2022-03-08 14:19:38

❶ 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值: