zoukankan      html  css  js  c++  java
  • Sql Server中的日期与时间函数

    一、sql server日期时间函数
    Sql Server中的日期与时间函数 
    1.  当前系统日期、时间 
        
    select getdate()  

    2dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值
       例如:向日期加上2天 
       
    select dateadd(day,2,'2004-10-15')  --返回:2004-10-17 00:00:00.000 

    3datediff 返回跨两个指定日期的日期和时间边界数。
       
    select datediff(day,'2004-09-01','2004-09-18')   --返回:17

    4datepart 返回代表指定日期的指定日期部分的整数。
      
    select DATEPART(month'2004-10-15')  --返回 10

    5datename 返回代表指定日期的指定日期部分的字符串
       
    select datename(weekday, '2004-10-15')  --返回:星期五

    6day(), 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')

    二、日期格式转换
        select CONVERT(varchargetdate(), 120 )
     
    2004-09-12 11:06:08 
     
    select replace(replace(replace(CONVERT(varchargetdate(), 120 ),'-',''),' ',''),':','')
     
    20040912110608
     
     
    select CONVERT(varchar(12) , getdate(), 111 )
     
    2004/09/12
     
     
    select CONVERT(varchar(12) , getdate(), 112 )
     
    20040912

     
    select CONVERT(varchar(12) , getdate(), 102 )
     
    2004.09.12
     
     其它我不常用的日期格式转换方法:

     
    select CONVERT(varchar(12) , getdate(), 101 )
     
    09/12/2004

     
    select CONVERT(varchar(12) , getdate(), 103 )
     
    12/09/2004

     
    select CONVERT(varchar(12) , getdate(), 104 )
     
    12.09.2004

     
    select CONVERT(varchar(12) , getdate(), 105 )
     
    12-09-2004

     
    select CONVERT(varchar(12) , getdate(), 106 )
     
    12 09 2004

     
    select CONVERT(varchar(12) , getdate(), 107 )
     
    09 122004

     
    select CONVERT(varchar(12) , getdate(), 108 )
     
    11:06:08
     
     
    select CONVERT(varchar(12) , getdate(), 109 )
     
    09 12 2004 1

     
    select CONVERT(varchar(12) , getdate(), 110 )
     
    09-12-2004

     
    select CONVERT(varchar(12) , getdate(), 113 )
     
    12 09 2004 1

     
    select CONVERT(varchar(12) , getdate(), 114 )
     
    11:06:08.177
    举例:
    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年
    附图
    函数参数/功能
    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说明
    YearYyyyyy年 1753 ~ 9999
    QuarterQq季 1 ~ 4
    MonthMm月1 ~ 12
    Day of yearDyy一年的日数,一年中的第几日 1-366
    DayDd日,1-31
    WeekdayDww一周的日数,一周中的第几日 1-7
    WeekWkww周,一年中的第几周 0 ~ 51
    HourHh时0 ~ 23
    MinuteMi分钟0 ~ 59
    SecondSss秒 0 ~ 59
    MillisecondMs-毫秒 0 ~ 999

    分类: Sql Server
    « 博主前一篇:JavaScript二级联动下拉菜单
    » 博主后一篇:SQL行列转换

    posted on 2006-10-19 14:23 笨鸟先飞_淡泊人生 阅读(39501) 评论(3)  编辑 收藏

    在SQL语言中,输入的是出生年月,如何获取年龄。

    2009-5-17 16:24
    提问者: 邹斌西瓜 | 浏览次数:1466次
    你好,最近我在学习数据库 使用的是SQL server 2000;
    想问一下:在表格信息中,一个属性是 出生年月:
    形式是这样的:1989.01.01;
    然后我想想问一下如何,使用使用sql语句 获得 每个对象的年龄;(即当前年—出生年)并在表里增加 年龄这个属性;
    我来帮他解答
    2009-5-19 09:15
    满意回答
    alter table 表名 add age int 
    update 表名 set age=DateDiff(year,birthday,getdate())
    如果修改后 还需要往该表里插入数据。可以创建一个触发器 来及时更改年龄
    create trigger getAge
    on 表名
    for insert ,update
    as
    if update(birthday) 
    update 表名set age=DateDiff(year,birthday,getdate())
    go
    ----------------
    insert into 表名 values ('Ybaby','1990.08.02',null)
    update 表名 set birthday=getdate() where id=2
    1
    | 评论

    回答者: Tfangfang09 | 一级

    擅长领域: 暂未定制

    参加的活动: 暂时没有参加的活动

     
    一、sql server日期时间函数
    Sql Server中的日期与时间函数 
    1.  当前系统日期、时间 
        
    select getdate()  

    2dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值
       例如:向日期加上2天 
       
    select dateadd(day,2,'2004-10-15')  --返回:2004-10-17 00:00:00.000 

    3datediff 返回跨两个指定日期的日期和时间边界数。
       
    select datediff(day,'2004-09-01','2004-09-18')   --返回:17

    4datepart 返回代表指定日期的指定日期部分的整数。
      
    select DATEPART(month'2004-10-15')  --返回 10

    5datename 返回代表指定日期的指定日期部分的字符串
       
    select datename(weekday, '2004-10-15')  --返回:星期五

    6day(), 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')

    二、日期格式转换
        select CONVERT(varchargetdate(), 120 )
     
    2004-09-12 11:06:08 
     
    select replace(replace(replace(CONVERT(varchargetdate(), 120 ),'-',''),' ',''),':','')
     
    20040912110608
     
     
    select CONVERT(varchar(12) , getdate(), 111 )
     
    2004/09/12
     
     
    select CONVERT(varchar(12) , getdate(), 112 )
     
    20040912

     
    select CONVERT(varchar(12) , getdate(), 102 )
     
    2004.09.12
     
     其它我不常用的日期格式转换方法:

     
    select CONVERT(varchar(12) , getdate(), 101 )
     
    09/12/2004

     
    select CONVERT(varchar(12) , getdate(), 103 )
     
    12/09/2004

     
    select CONVERT(varchar(12) , getdate(), 104 )
     
    12.09.2004

     
    select CONVERT(varchar(12) , getdate(), 105 )
     
    12-09-2004

     
    select CONVERT(varchar(12) , getdate(), 106 )
     
    12 09 2004

     
    select CONVERT(varchar(12) , getdate(), 107 )
     
    09 122004

     
    select CONVERT(varchar(12) , getdate(), 108 )
     
    11:06:08
     
     
    select CONVERT(varchar(12) , getdate(), 109 )
     
    09 12 2004 1

     
    select CONVERT(varchar(12) , getdate(), 110 )
     
    09-12-2004

     
    select CONVERT(varchar(12) , getdate(), 113 )
     
    12 09 2004 1

     
    select CONVERT(varchar(12) , getdate(), 114 )
     
    11:06:08.177
    举例:
    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年
    附图
    函数参数/功能
    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说明
    YearYyyyyy年 1753 ~ 9999
    QuarterQq季 1 ~ 4
    MonthMm月1 ~ 12
    Day of yearDyy一年的日数,一年中的第几日 1-366
    DayDd日,1-31
    WeekdayDww一周的日数,一周中的第几日 1-7
    WeekWkww周,一年中的第几周 0 ~ 51
    HourHh时0 ~ 23
    MinuteMi分钟0 ~ 59
    SecondSss秒 0 ~ 59
    MillisecondMs-毫秒 0 ~ 999

    分类: Sql Server
    « 博主前一篇:JavaScript二级联动下拉菜单
    » 博主后一篇:SQL行列转换

    posted on 2006-10-19 14:23 笨鸟先飞_淡泊人生 阅读(39501) 评论(3)  编辑 收藏

  • 相关阅读:
    28完全背包+扩展欧几里得(包子凑数)
    HDU 3527 SPY
    POJ 3615 Cow Hurdles
    POJ 3620 Avoid The Lakes
    POJ 3036 Honeycomb Walk
    HDU 2352 Verdis Quo
    HDU 2368 Alfredo's Pizza Restaurant
    HDU 2700 Parity
    HDU 3763 CDs
    POJ 3279 Fliptile
  • 原文地址:https://www.cnblogs.com/qqhfeng/p/2590503.html
Copyright © 2011-2022 走看看