设为首页 加入收藏

TOP

Sql 中常用日期转换Convert(Datetime)(四)
2015-11-21 02:07:19 来源: 作者: 【 】 浏览:6
Tags:Sql 常用 日期 转换 Convert Datetime
/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 数据类型长度来截断不需要的日期部分。
?
PS:结合datediff()函数用来比较时间特别有用。
?
?
?
-------------------------------------------------------------------------------------------------------------------------------------------
?
1. 当前系统日期、时间
select getdate()
?
?
2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000
?
3. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,'2004-09-01','2004-09-18') --返回:17
?
4. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, '2004-10-15') --返回 10
?
5. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2004-10-15') --返回:星期五
?
6. day(), month(),year() --可以与datepart对照一下
?
select 当前日期=convert(varchar(10),getdate(),120)
,当前时间=convert(varchar(8),getdate(),114)
?
select datename(dw,'2004-10-15')
?
select 本年第多少周=datename(week,'2004-10-15')
,今天是周几=datename(weekday,'2004-10-15')
?
函数 参数/功能?
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的设定值如下:
?
值 缩 写(Sql Server) Access 和 ASP 说明?
Year Yy yyyy 年 1753 ~ 9999?
Quarter Qq q 季 1 ~ 4?
Month Mm m 月1 ~ 12?
Day of year Dy y 一年的日数,一年中的第几日 1-366?
Day Dd d 日,1-31?
Weekday Dw w 一周的日数,一周中的第几日 1-7?
Week Wk ww 周,一年中的第几周 0 ~ 51?
Hour Hh h 时0 ~ 23?
Minute Mi n 分钟0 ~ 59?
Second Ss s 秒 0 ~ 59?
Millisecond Ms - 毫秒 0 ~ 999
?
access 和 asp 中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似
?
举例:
1.GetDate() 用于sql server :select GetDate()
?
2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为 514592 秒
DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天
?
3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期一(周日为1,周六为7)
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年
?
SQL Server DATEPART() 函数返回 SQLServer datetime 字段的一部分。
?
SQL Server D
首页 上一页 1 2 3 4 5 下一页 尾页 4/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇简单的把SQLite数据导入Mysql库 下一篇SqlServer死锁与阻塞检测脚本

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: