zoukankan      html  css  js  c++  java
  • sql server日期时间函数

    1.  当前系统日期、时间
    1 B1 t1 O2 o( U1 o' i+ m% T& H    select getdate()  

    2. dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值
    & k% ?* g+ |$ I+ B$ B1 J% H   例如:向日期加上2天 $ A) h( a: h0 _/ h
       select dateadd(day,2,'2004-10-15')  --返回:2004-10-17 00:00:00.000
    3 I+ g0 _9 q( K1 R5 Z3. datediff 返回跨两个指定日期的日期和时间边界数。
    4 Q7 ^3 n5 W2 s' j% b   select datediff(day,'2004-09-01','2004-09-18')   --返回:174 c9 z/ }. {3 l* {
    4. datepart 返回代表指定日期的指定日期部分的整数。" t9 ~: _4 A# t! l1 q
      SELECT DATEPART(month, '2004-10-15')  --返回 10+ x" X2 N- }3 j( t' ~) ?
    5. datename 返回代表指定日期的指定日期部分的字符串
    2 D3 V( d8 O# y/ f) L   SELECT datename(weekday, '2004-10-15')  --返回:星期五3 ]4 a0 Q! l, n  K' L
    6. day(), month(),year() --可以与datepart对照一下
    ' y( D0 B7 i9 d( I; T, L# v8 hselect 当前日期=convert(varchar(10),getdate(),120)
    + |, W3 D) e) [* O,当前时间=convert(varchar(8),getdate(),114) 5 a. E' N% ~, z0 x1 ?' ?. @
    select datename(dw,'2004-10-15') 1 O3 E7 A; _( U7 U6 W; l* g
    select 本年第多少周=datename(week,'2004-10-15')8 C( q& K" b1 ^$ p3 S) J! V
          ,今天是周几=datename(weekday,'2004-10-15')7 J4 {0 g" @, ?# k

    0 o6 J2 C" A& M. x- e

    函数

    参数/功能

    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的设定值如下:
    6 T2 s& Z& Z! O( U2 B# ^4 R9 e) K

    缩 写(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


    . w7 A6 K, d7 ?* i  s' g% haccess 和 asp 中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似* S, ]6 }% {5 F* X
    举例:. _( X* m; k1 e& Q
    1.GetDate() 用于sql server :select GetDate()
    $ s2 j! C( K2 f% ]5 L3 Y9 I% S' f7 C; C5 i$ M& m3 G3 M- |/ u; I
    2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为 514592 秒7 T3 {* Z3 N: S) e, E" m$ O$ d, G
    DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天- @8 A% H+ R5 k. i9 e
    1 D# y8 c" L: V3 ]5 U1 A' \
    3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期一(周日为1,周六为7)
    ( f- b* [. C! y/ [& a1 R  SDatePart('d','2005-7-25 22:56:32')返回值为 25即25号) U7 H- ~. x. Q; q7 x* E# g4 {
    DatePart('y','2005-7-25 22:56:32')返回值为 206即这一年中第206天% |& v3 R% C( |3 n; s/ l* ~
    DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年

    select GPRSId from TB_GPRS

    where DATEDIFF ( mi , lineTime , getdate() )>10    系统时间比系统时间小于10分钟

    DATEDIFF ( datepart , startdate , enddate )

    参数

    datepart

    是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft? SQL Server? 识别的日期部分和缩写。

    日期部分 缩写

    year yy, yyyy

    quarter qq, q

    Month mm, m

    dayofyear dy, y

    Day dd, d

    Week wk, ww

    Hour hh

    minute mi, n

    second ss, s

    millisecond ms

    例 select * from tab where datediff(ss,日期,getdate())=10

      减1年:dateadd(yy,-1,'2005-09-02   08:30:00')  
      减1月:dateadd(mm,-1,'2005-09-02   08:30:00')  
      减1天:dateadd(dd,-1,'2005-09-02   08:30:00')  
      减1小时:dateadd(hh,-1,'2005-09-02   08:30:00')  
      减1分钟:dateadd(mi,-1,'2005-09-02   08:30:00')  

  • 相关阅读:
    沟通是项目管理知识体系中的九大知识领域之一
    项目管理的三要素时间、成本、质量
    项目管理提升效率的几大关键点
    收到FRDMKL02Z
    【转】arm 开发工具比较(ADS vs RealviewMDK vs RVDS)
    你不能自己把自己放弃写在毕业季
    【转】为什么你应该(从现在开始就)写博客
    Vivado 2014.4 FFT IP 使用及仿真
    项目需求的一些事
    娇荣电子工作室成立了
  • 原文地址:https://www.cnblogs.com/linzheng/p/1880208.html
Copyright © 2011-2022 走看看