• SQL 日期函数小总结


    日期用到的,即全拼和缩写都可以放到参数里面表达
    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()函数
    返回当前时间
    select getdate()
                                                          
    ------------------------------------------------------
    2009-02-05 11:18:39.770

    (所影响的行数为 1 行)

    ==========================================================
    2:dateadd函数
    第一个参数是要添加的类型,比如MM,第二个参数你要添加多少,第三个是你要往哪里添加
    SELECT DATEADD(m,2,'2004-1-1')[DATELIHAN]
    DATELIHAN                                             
    ------------------------------------------------------
    2004-03-01 00:00:00.000

    (所影响的行数为 1 行)

    SELECT DATEADD(YY,1,'2004-1-1')[DATELIHAN]
    DATELIHAN                                             
    ------------------------------------------------------
    2005-01-01 00:00:00.000

    (所影响的行数为 1 行)
    ===================================================================================
    3:datediff函数
    返回参数二与参数三两个日期之间的差值 参数三-参数二 返回类型为参数一
    select datediff(dd,'2009-12-27','2009-12-25')[DATELIHAN]
    DATELIHAN  
    -----------
    -2

    (所影响的行数为 1 行)
    select datediff(yy,'2007-12-27','2009-12-25')[DATELIHAN]
    DATELIHAN  
    -----------
    2

    (所影响的行数为 1 行)
    =================================================================================
    4:datepart函数
    返回参数二中对应的参数一的值
    select datepart(mm,'2008-08-07')[月份]
    select datepart(yy,'2008-08-07')[年份]
    月份         
    -----------
    8

    (所影响的行数为 1 行)

    年份         
    -----------
    2008

    (所影响的行数为 1 行)

    ========================================================================================
    5:datename函数
    返回代表指定日期的指定日期部分的字符串
    SELECT datename(weekday, '2009-10-15') [星期]
    星期                            
    ------------------------------
    星期四

    (所影响的行数为 1 行)

    =======================================================================================

    6:day函数
    返回一个整数,表示参数指定的 date 是该月份的哪一天
    select day('2009-2-5')[第几天]
    第几天        
    -----------
    5

    (所影响的行数为 1 行)
    =========================================================================================

    7:month函数
    返回一个整数,表示指定参数的 date 是该年的哪一月
    SELECT month('2007-04-30');
               
    -----------
    4

    (所影响的行数为 1 行)
    =================================================================================

    8:year函数
    返回一个整数,表示参数指定的 date 是哪一年
    SELECT year('2007-04-30');
    -----------
    2007

    (所影响的行数为 1 行)
    ============================================================================
    例如想要查询距离现在10天以内的记录
    select * from tablename where datediff(day,你的日期字段,getdate())<10
    例如想查询一段时间内的记录
    select * from talbename where 你的日期字段 between 日期一 and 日期二

  • 相关阅读:
    Sqlserver的Transaction做Rollback的时候要小心(转载)
    注意Sqlserver中使用with(nolock)后实际上还是会加架构锁,只是不对要查询的数据加S锁而已(转载)
    为什么Sql Server的查询有时候第一次执行很慢,第二次,第三次执行就变快了
    Sql Server 中如果使用TransactionScope开启一个分布式事务,使用该事务两个并发的连接会互相死锁吗
    Css中路径data:image/png;base64的用法详解 (转载)
    android获取mp4视频文件总时长和视频宽高<转>
    “Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle)instead”
    android 除法运算保留小数点
    Directshow 采集音视频数据H264+AAC+rtmp效果还不错
    VS2010中将CString转换为const char*
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4400730.html
Copyright © 2020-2023  润新知