ITPub博客

首页 > 数据库 > Oracle > Oracle与SqlServer的时间转换函数

Oracle与SqlServer的时间转换函数

Oracle 作者:mumuife 时间:2011-01-21 13:46:08 0 删除 编辑

ORACLE的时间转换函数 

Oracle的数据库比较特殊,不像Mysql的数据可以自动转换,
比如时间类型,如果用字符串赋值就会报错,
所以Oracle中就有TO_DATE函数来完成类型转换。
StrSql "SELECT colum FROM tablename WHERE date_arg= TO_DATE('2004-09-25' 'yyyy-mm-dd') 
注意函数后面的部分: YYYY-MM-DD ,这是你提供的日期字符串的日期格式参数, ORACLE 将根据你的格式参数读取日期(表 中列出经常会用到的参数)。 
如果要还原回来怎么办呢?没关系,我们还有另一个函数 TO_CHAR(date) ,它与 To_DATE 是一对反函数,使用的格式也与 TO_DATE 类似,这里也举一个简单的例子,假设我们要查询系统时间,那么格式如下: 
SELECT TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS') "Right Now" 
From Dual; 
结果显示: 
Right Now 
――――――――――――――――――― 
16 - Nov - 2001 14 : 23 : 22 
对照下面的参数表,相信你很快就能够掌握这两个函数的应用的 
日期格式参数 含义说明 
一周中的星期几 
DAY 天的名字,使用空格填充到 个字符 
DD 月中的第几天 
DDD 年中的第几天 
DY 天的简写名 
IW ISO 标准的年中的第几周 
IYYY ISO 标准的四位年份 
YYYY 四位年份 
YYY,YY,Y 年份的最后三位,两位,一位 
HH 小时,按 12 小时计 
HH24 小时,按 24 小时计 
MI 分 
SS 秒 
MM 月 
Mon 月份的简写 
Month 月份的全名 
该月的第几个星期 
WW 年中的第几个星期

Sql Server中的日期与时间函数 

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   季 4
Month Mm   月1 12
Day of year Dy  一年的日数,一年中的第几日 1-366
Day Dd   日,1-31
Weekday Dw 一周的日数,一周中的第几日 1-7
Week Wk ww  周,一年中的第几周 51
Hour Hh   时0 23
Minute Mi  分钟0 59
Second Ss 秒 59
Millisecond Ms 毫秒 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')返回值为 

3.DatePart('w','2005-7-25 22:56:32')返回值为 即星期一(周日为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年 


<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26066909/viewspace-1117069/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-07-17