CONVERT日期转换及其他使用Word文档格式.docx
- 文档编号:20749652
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:9
- 大小:20.54KB
CONVERT日期转换及其他使用Word文档格式.docx
《CONVERT日期转换及其他使用Word文档格式.docx》由会员分享,可在线阅读,更多相关《CONVERT日期转换及其他使用Word文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
SELECTCONVERT(varchar(100),GETDATE(),20)2009-07-1516:
SELECTCONVERT(varchar(100),GETDATE(),21)2009-07-1516:
26.513
SELECTCONVERT(varchar(100),GETDATE(),22)07/15/094:
26PM
SELECTCONVERT(varchar(100),GETDATE(),23)2009-07-15
SELECTCONVERT(varchar(100),GETDATE(),24)16:
SELECTCONVERT(varchar(100),GETDATE(),25)2009-07-1516:
SELECTCONVERT(varchar(100),GETDATE(),100)071520094:
SELECTCONVERT(varchar(100),GETDATE(),101)07/15/2009
SELECTCONVERT(varchar(100),GETDATE(),102)2009.07.15
SELECTCONVERT(varchar(100),GETDATE(),103)15/07/2009
SELECTCONVERT(varchar(100),GETDATE(),104)15.07.2009
SELECTCONVERT(varchar(100),GETDATE(),105)15-07-2009
SELECTCONVERT(varchar(100),GETDATE(),106)15072009
SELECTCONVERT(varchar(100),GETDATE(),107)0715,2009
SELECTCONVERT(varchar(100),GETDATE(),108)16:
SELECTCONVERT(varchar(100),GETDATE(),109)071520094:
SELECTCONVERT(varchar(100),GETDATE(),110)07-15-2009
SELECTCONVERT(varchar(100),GETDATE(),111)2009/07/15
SELECTCONVERT(varchar(100),GETDATE(),112)20090715
SELECTCONVERT(varchar(100),GETDATE(),113)1507200916:
SELECTCONVERT(varchar(100),GETDATE(),114)16:
SELECTCONVERT(varchar(100),GETDATE(),120)2009-07-1516:
SELECTCONVERT(varchar(100),GETDATE(),121)2009-07-1516:
SELECTCONVERT(varchar(100),GETDATE(),126)2009-07-15T16:
SELECTCONVERT(varchar(100),GETDATE(),130)2314304:
SELECTCONVERT(varchar(100),GETDATE(),131)23/07/14304:
style数字在转换时间时的含义如下:
------------------------------------------------------------------------------------------------------------
Style(2位表示年份)|Style(4位表示年份)|输入输出格式
0|100|monddyyyyhh:
miAM(或PM)
1|101美国|mm/dd/yy
2|102ANSI|yy-mm-dd
3|103英法|dd/mm/yy
4|104德国|dd.mm.yy
5|105意大利|dd-mm-yy
6|106|ddmonyy
7|107|mondd,yy
8|108|hh:
mm:
ss
9|109|monddyyyyhh:
mi:
ss:
mmmmAM(或PM)
10|110美国|mm-dd-yy
11|111日本|yy/mm/dd
12|112ISO|yymmdd
13|113欧洲默认值|ddmonyyyyhh:
mmm(24小时制)
14|114|hh:
20|120ODBC规范|yyyy-mm-ddhh:
ss(24小时制)
21|121|yyyy-mm-ddhh:
使用CONVERT:
CONVERT(data_type[(length)],expression[,style])
参数
expression
是任何有效的Microsoft®
SQLServer™表达式。
。
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数据类型)。
SQLServer支持使用科威特算法的阿拉伯样式中的数据格式。
在表中,左侧的两列表示将datetime或smalldatetime转换为字符数据的style值。
给style值加100,可获得包括世纪数位的四位年份(yyyy)。
不带世纪数位(yy)
带世纪数位(yyyy)
标准
输入/输出**
-
0或100(*)
默认值
monddyyyyhh:
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
ddmonyy
7
107
mondd,yy
8
108
hh:
ss
9或109(*)
默认值+毫秒
mmmAM(或PM)
10
110
mm-dd-yy
11
111
日本
yy/mm/dd
12
112
ISO
yymmdd
13或113(*)
欧洲默认值+毫秒
ddmonyyyyhh:
mmm(24h)
14
114
20或120(*)
ODBC规范
yyyy-mm-ddhh:
ss[.fff]
21或121(*)
ODBC规范(带毫秒)
126(***)
ISO8601
yyyy-mm-ddThh:
ss.mmm(不含空格)
130*
Hijri****
mmmAM
131*
dd/mm/yyhh:
*默认值(style0或100、9或109、13或113、20或120、21或121)始终返回世纪数位(yyyy)。
**当转换为datetime时输入;
当转换为字符数据时输出。
***专门用于XML。
对于从datetime或smalldatetime到character数据的转换,输出格式如表中所示。
对于从float、money或smallmoney到character数据的转换,输出等同于style2。
对于从real到character数据的转换,输出等同于style1。
****Hijri是具有几种变化形式的日历系统,Microsoft®
SQLServer™2000使用其中的科威特算法。
重要默认情况下,SQLServer根据截止年份2049解释两位数字的年份。
即,两位数字的年份49被解释为2049,而两位数字的年份50被解释为1950。
许多客户端应用程序(例如那些基于OLE自动化对象的客户端应用程序)都使用2030作为截止年份。
SQLServer提供一个配置选项("
两位数字的截止年份"
),借以更改SQLServer所使用的截止年份并对日期进行一致性处理。
然而最安全的办法是指定四位数字年份。
当从smalldatetime转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。
当从datetime或smalldatetime值进行转换时,可以通过使用适当的char或varchar数据类型长度来截断不需要的日期部分。
PS:
结合datediff()函数用来比较时间特别有用。
-------------------------------------------------------------------------------------------------------------------------------------------
1.当前系统日期、时间
selectgetdate()
2.dateadd在向指定日期加上一段时间的基础上,返回新的datetime值
例如:
向日期加上2天
selectdateadd(day,2,'
2004-10-15'
)--返回:
2004-10-1700:
00:
00.000
3.datediff返回跨两个指定日期的日期和时间边界数。
selectdatediff(day,'
2004-09-01'
'
2004-09-18'
17
4.datepart返回代表指定日期的指定日期部分的整数。
SELECTDATEPART(month,'
)--返回10
5.datename返回代表指定日期的指定日期部分的字符串
SELECTdatename(weekday,'
星期五
6.day(),month(),year()--可以与datepart对照一下
select当前日期=convert(varchar(10),getdate(),120)
当前时间=convert(varchar(8),getdate(),114)
selectdatename(dw,'
)
select本年第多少周=datename(week,'
今天是周几=datename(weekday,'
函数参数/功能
GetDate()返回系统目前的日期与时间
DateDiff(interval,date1,date2)
以interval指定的方式,返回date2与date1两个日期之间的差值date2-date1
DateAdd(interval,number,date)以interval指定的方式,加上number之后的日期
DatePart(interval,date)返回日期date中,interval指定部分所对应的整数值
DateName(interval,date)返回日期date中,interval指定部分所对应的字符串名称
参数interval的设定值如下:
值缩写(SqlServer)Access和ASP说明
YearYyyyyy年1753~9999
QuarterQqq季1~4
MonthMmm月1~12
DayofyearDyy一年的日数,一年中的第几日1-366
DayDdd日,1-31
WeekdayDww一周的日数,一周中的第几日1-7
WeekWkww周,一年中的第几周0~51
HourHhh时0~23
MinuteMin分钟0~59
SecondSss秒0~59
MillisecondMs-毫秒0~999
access和asp中用date()和now()取得系统日期时间;
其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似
举例:
1.GetDate()用于sqlserver:
selectGetDate()
2.DateDiff('
s'
2005-07-20'
2005-7-2522:
56:
32'
)返回值为514592秒
DateDiff('
d'
)返回值为5天
3.DatePart('
w'
)返回值为2即星期一(周日为1,周六为7)
DatePart('
)返回值为25即25号
y'
)返回值为206即这一年中第206天
yyyy'
)返回值为2005即2005年
SQLServerDATEPART()函数返回SQLServerdatetime字段的一部分。
SQLServerDATEPART()函数的语法是:
DATEPART(portion,datetime)
其中datetime是SQLServerdatetime字段和部分的名称是下列之一:
MsforMilliseconds
YyforYear
QqforQuarteroftheYear
MmforMonth
DyfortheDayoftheYear
DdforDayoftheMonth
WkforWeek
DwfortheDayoftheWeek
HhforHour
MiforMinute
SsforSecond
详细的说明:
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。
你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!
在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。
在使用本文中的例子之前,你必须注意以下的问题。
大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。
第一天(DA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CONVERT 日期 转换 及其 使用