当前位置:首页 » 编程语言 » 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值: