CONVERT(data_type,expression[,style]) convert(varchar(10),字段名,转换格式)
说明: 此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar) 相互转换的时候才用到.
语句 结果 SELECT CONVERT(varchar(100),GETDATE(),0) 07 15 2009 4:06PM SELECT CONVERT(varchar(100),1) 07/15/09 SELECT CONVERT(varchar(100),2) 09.07.15 SELECT CONVERT(varchar(100),3) 15/07/09 SELECT CONVERT(varchar(100),4) 15.07.09 SELECT CONVERT(varchar(100),5) 15-07-09 SELECT CONVERT(varchar(100),6) 15 07 09 SELECT CONVERT(varchar(100),7) 07 15,09 SELECT CONVERT(varchar(100),8) 16:06:26 SELECT CONVERT(varchar(100),9) 07 15 2009 4:06:26:513PM SELECT CONVERT(varchar(100),10) 07-15-09 SELECT CONVERT(varchar(100),11) 09/07/15 SELECT CONVERT(varchar(100),12) 090715 SELECT CONVERT(varchar(100),13) 15 07 2009 16:06:26:513 SELECT CONVERT(varchar(100),14) 16:06:26:513 SELECT CONVERT(varchar(100),20) 2009-07-15 16:06:26 SELECT CONVERT(varchar(100),21) 2009-07-15 16:06:26.513 SELECT CONVERT(varchar(100),22) 07/15/09 4:06:26 PM SELECT CONVERT(varchar(100),23) 2009-07-15 SELECT CONVERT(varchar(100),24) 16:06:26 SELECT CONVERT(varchar(100),25) 2009-07-15 16:06:26.513 SELECT CONVERT(varchar(100),100) 07 15 2009 4:06PM SELECT CONVERT(varchar(100),101) 07/15/2009 SELECT CONVERT(varchar(100),102) 2009.07.15 SELECT CONVERT(varchar(100),103) 15/07/2009 SELECT CONVERT(varchar(100),104) 15.07.2009 SELECT CONVERT(varchar(100),105) 15-07-2009 SELECT CONVERT(varchar(100),106) 15 07 2009 SELECT CONVERT(varchar(100),107) 07 15,2009 SELECT CONVERT(varchar(100),108) 16:06:26 SELECT CONVERT(varchar(100),109) 07 15 2009 4:06:26:513PM SELECT CONVERT(varchar(100),110) 07-15-2009 SELECT CONVERT(varchar(100),111) 2009/07/15 SELECT CONVERT(varchar(100),112) 20090715 SELECT CONVERT(varchar(100),113) 15 07 2009 16:06:26:513 SELECT CONVERT(varchar(100),114) 16:06:26:513 SELECT CONVERT(varchar(100),120) 2009-07-15 16:06:26 SELECT CONVERT(varchar(100),121) 2009-07-15 16:06:26.513 SELECT CONVERT(varchar(100),126) 2009-07-15T16:06:26.513 SELECT CONVERT(varchar(100),130) 23 ??? 1430 4:06:26:513PM SELECT CONVERT(varchar(100),131) 23/07/1430 4:06:26:513PM
Style(2位表示年份) | Style(4位表示年份) | 输入输出格式 ------------------------------------------------------------------------------------------------------------ 0 | 100 | mon dd yyyy hh:miAM(或PM) ------------------------------------------------------------------------------------------------------------ 1 | 101 美国 | mm/dd/yy ------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------ 3 | 103 英法 | dd/mm/yy ------------------------------------------------------------------------------------------------------------ 4 | 104 德国 | 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:mmmmAM(或PM) ------------------------------------------------------------------------------------------------------------ 10 | 110 美国 | mm-dd-yy ------------------------------------------------------------------------------------------------------------ 11 | 111 日本 | yy/mm/dd ------------------------------------------------------------------------------------------------------------ 12 | 112 ISO | yymmdd ------------------------------------------------------------------------------------------------------------ 13 | 113 欧洲默认值 | dd mon yyyy hh:mi:ss:mmm(24小时制) ------------------------------------------------------------------------------------------------------------ 14 | 114 | hh:mi:ss:mmm(24小时制) ------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------ 21 | 121 | yyyy-mm-dd hh:mi:ss:mmm(24小时制) ------------------------------------------------------------------------------------------------------------
( data_type [ ( length ) ],expression [,style ] )
length
|
|
|
|
|
** 当转换为 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 所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。
-------------------------------------------------------------------------------------------------------------------------------------------
select getdate()
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000
select datediff(day,'2004-09-01','2004-09-18') --返回:17
SELECT DATEPART(month,'2004-10-15') --返回 10
SELECT datename(weekday,'2004-10-15') --返回:星期五
--可以与datepart对照一下
,当前时间=convert(varchar(8),114)
,今天是周几=datename(weekday,0); FONT-FAMILY: 宋体">DateDiff (interval,date1,date2)
DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期
DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值
DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称
Year 年 1753 ~ 9999
Quarter 季 1 ~ 4
Month 月1 ~ 12
Day of year 一年的日数,一年中的第几日 1-366
Day 日,1-31
Weekday 一周的日数,一周中的第几日 1-7
Week 周,一年中的第几周 0 ~ 51
Hour 时0 ~ 23
Minute 分钟0 ~ 59
Second 秒 0 ~ 59
Millisecond - 毫秒 0 ~ 999
1.GetDate() 用于sql server :select GetDate()
DateDiff('d','2005-7-25 22:56:32')返回值为 5 天
DatePart('d','2005-7-25 22:56:32')返回值为 25即25号
DatePart('y','2005-7-25 22:56:32')返回值为 206即这一年中第206天
DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年
DATEPART(portion,datetime)
其中 datetime 是 SQLServer datetime 字段和部分的名称是下列之一: Ms for Milliseconds
Yy for Year
Qq for Quarter of the Year
Mm for Month
Dy for the Day of the Year
Dd for Day of the Month
Wk for Week
Dw for the Day of the Week
Hh for Hour
Mi for Minute
Ss for Second
在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。第一天(DATEFIRST)设定决定了你的系统使用哪一天作为一周的第一天。假如你的第一天设置不一样,你可能需要调整这些例子,使它和不同的第一天设置相符合。你
下一个函数是DATEADD,增加当前日期到“1900-01-01”的月数。通过增加预定义的日期“1900-01-01”和当前日期的月数,我们可以获得这个月的第一天。另外,计算出来的日期的时间部分将会是“00:00:00.000”。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!