• SQL Server 和 SQLite 时间函数汇总


    sqlserver日期函数

     函数  参数/功能
     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指定部分所对应的字符串名称
     day(date), month(date),year(date) 返回日期的日期,月份,年份。可以与datepart对照一下

    参数 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

    举例:
      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年


    sqlite日期函数

    函数 返回形式 用strftime表达形式
    date(日期时间字符串,修正符,修正符, ……)  以“YYYY-MM-DD”为格式的日期 strftime(“%Y-%m-%d”,…)
     time(日期时间字符串,修正符,修正符, ……)  以“HH:MM:SS”为格式的日期时间 strftime(“%H:%M:%S”,…)
     datetime(日期时间字符串,修正符,修正符, ……)  以“YYYY-MM-DD HH:MM:SS”为格式的日期时间 strftime(“%Y-%m-%d %H:%M:%S”,…)
     julianday(日期时间字符串,修正符,修正符, ……)  返回一个天数,从格林威治时间公元前4714年11月24号开始算起  strftime(“%J”,…)
    strftime(日期时间格式,日期时间字符串,修正符,修正符, ……) 经过格式化的日期时间  

                           
    可以使用如下格式的字符串作为"日期时间字符串"参数:
      1. YYYY-MM-DD
      2. YYYY-MM-DD HH:MM
      3. YYYY-MM-DD HH:MM:SS
      4. YYYY-MM-DD HH:MM:SS.SSS
      5. YYYY-MM-DDTHH:MM
      6. YYYY-MM-DDTHH:MM:SS
      7. YYYY-MM-DDTHH:MM:SS.SSS
      8. HH:MM
      9. HH:MM:SS
      10. HH:MM:SS.SSS
      11. now
      12. DDDD.DDDD

    在第五种到第七种格式中的“T”是一个分割日期和时间的字符;第八种到第十种格式只代表2000-01-01日的时间,第十一种格式的’now’表示返回一个当前的日期

    和时间,使用格林威治时间(UTC);第十二种格式表示一个Julian Day Numbers。 

    可以使用下面的修正符来更改日期或时间:
      1. NNN days
      2. NNN hours
      3. NNN minutes
      4. NNN.NNNN seconds
      5. NNN months
      6. NNN years
      7. start of month
      8. start of year
      9. start of week
      10. start of day
      11. weekday N
      12. unixepoch
      13. localtime
      14. utc
    前六个修正符就是简单的增加指定数值的时间和日期;第七到第十个修正符表示返回当前日期的开始;第十一个修正符表示返回下一个星期是N的日期和时间;第十二个

    修正符表示返回从1970-01-01开始算起的秒数;第十三个修正符表示返回本地时间。

    strftime()函数返回一个经过格式话的日期时间,它可以用下面的符号对日期和时间进行格式化:
    %d 一月中的第几天01-31
    %f 小数形式的秒,SS.SSSS
    %H 小时00-24
    %j 一年中的第几天01-366
    %J Julian Day Numbers
    %m 月份01-12
    %M 分钟00-59
    %s 从1970-01-01日开始计算的秒数
    %S 秒00-59
    %w 星期,0-6,0是星期天
    %W 一年中的第几周00-53
    %Y 年份0000-9999
    %% %百分号

    举例:
      计算机当前时间: SELECT date(‘now’)
      计算机当前月份的最后一天: SELECT date(‘now’,’start of month’,’+1 month’,’-1 day’)
      计算时间戳1092941466表示的日期和时间: SELECT datetime(‘1092941466’,’unixepoch’)
      计算时间戳1092941466表示的本地日期和时间: SELECT datetime(‘1092941466’,’unixepoch’,’localtime’)
      计算机当前时间戳: SELECT strftime(‘%s’,’now’)
      两个日期之间相差多少天: SELECT jolianday(‘now’)-jolianday(‘1981-12-23’)
      两个日期时间之间相差多少秒: SELECT julianday('now')*86400 - julianday('2004-01-01 02:34:56')*86400
      计算今年十月份第一个星期二的日期: SELECT date('now','start of year','+9 months','weekday 2');

  • 相关阅读:
    FluorineFx ASObject自动转换基础类 AutoParseASObject ,用于Flash AMF协议解析
    小东西WinForm的等待窗口
    被VB6搞死。。。。。。。鸟
    请把这个消息提示框拿掉,谢谢
    MS新版Wallop,
    SQL 2000 异数据库数据同步
    企业管理应用平台预览演示版下载
    Microsoft SQL Server 2008 基本安装说明
    怀旧下给自己留个备份,
    PPPOE数据包转换及SharpPcap应用
  • 原文地址:https://www.cnblogs.com/junzi2099/p/2517134.html
Copyright © 2020-2023  润新知