zoukankan      html  css  js  c++  java
  • sql日期操作

    CONVERT(varchar(10),getDate(),120) 



    求得到"昨天,今天"日期函数的SQL 


    所属分类:MS-SQL Server 基础类 

    ---------------------------------------------------------------------- 

    Convert(Datetime,GetDate(),2) 

    GetDate()得到今天日期2007-03-26 16:14:12.187 

    1.现在我需要得到只是日期部分,时间部分不要,SQL怎么写? 

    2.求以下日期SQL: 

    昨天  

    明天 

    最近七天 

    随后七天 

    上周 

    本周 

    下周 

    上月 

    本月 

    下月 

    请高手帮忙。谢谢 

    ---------------------------------------------------------------------- 

    1.现在我需要得到只是日期部分,时间部分不要,SQL怎么写? 

    select convert(varchar(10),getdate(),120) 

    -------------------------------------------------------- 

    --1. 

    Select Convert(Varchar(10), GetDate(), 120) 

    Select Convert(Varchar(10), GetDate(), 121) 

    -------------------------------------------------------- 

    2.求以下日期SQL: 

    昨天  

    select convert(varchar(10),getdate() - 1,120) 

    明天 

    select convert(varchar(10),getdate() + 1,120) 

    最近七天 

    select * from tb where 时间字段 >= convert(varchar(10),getdate() - 7,120) 

    随后七天 

    select * from tb where 时间字段 <= convert(varchar(10),getdate() + 7,120) and 时间字段 >= 时间字段 

    -------------------------------------------------------- 

    convert和dateadd函数结合使用就可以了。 

    -------------------------------------------------------- 

    用datediff(day,时间列,getdate()) 

    -------------------------------------------------------- 

    上月 

    select * from tb where month(时间字段) = month(getdate()) - 1 

    本月 

    select * from tb where month(时间字段) = month(getdate()) 

    下月 

    select * from tb where month(时间字段) = month(getdate()) + 1 

    -------------------------------------------------------- 

    --2 

    --如果是在表中查詢 

    --昨天  

    Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) = 1 

    --明天 

    Select * From TableName Where DateDiff(dd, GetDate(), DateTimCol) = 1 

    --最近七天 

    Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) <= 7 

    --随后七天 

    Select * From TableName Where DateDiff(dd, GetDate(), DateTimCol) <= 7 

    --上周 

    Select * From TableName Where DateDiff(wk, DateTimCol, GetDate()) = 1 

    --本周 

    Select * From TableName Where DateDiff(wk, DateTimCol, GetDate()) = 0 

    --下周 

    Select * From TableName Where DateDiff(wk, GetDate(), DateTimCol ) = 1 

    --上月 

    Select * From TableName Where DateDiff(mm, DateTimCol, GetDate()) = 1 

    --本月 

    Select * From TableName Where DateDiff(mm, DateTimCol, GetDate()) = 0 

    --下月 

    Select * From TableName Where DateDiff(mm, GetDate(), DateTimCol ) = 1 

    -------------------------------------------------------- 

    本周 

    select * from tb where datediff(week , 时间字段 ,getdate()) = 0 

    上周 

    select * from tb where datediff(week , 时间字段 ,getdate()) = 1 

    下周 

    select * from tb where datediff(week , 时间字段 ,getdate()) = -1 

    -------------------------------------------------------- 

    1.现在我需要得到只是日期部分,时间部分不要,SQL怎么写? 

    select convert(varchar(10),getdate(),120) 

    2.求以下日期SQL: 

    昨天  

    select convert(varchar(10),getdate() - 1,120) 

    明天 

    select convert(varchar(10),getdate() + 1,120) 

    最近七天 

    select * from tb where 时间字段 >= convert(varchar(10),getdate() - 7,120) 

    随后七天 

    select * from tb where 时间字段 <= convert(varchar(10),getdate() + 7,120) and 时间字段 >= 时间字段 

    上月 

    select * from tb where month(时间字段) = month(getdate()) - 1 

    本月 

    select * from tb where month(时间字段) = month(getdate()) 

    下月 

    select * from tb where month(时间字段) = month(getdate()) + 1 

    本周 

    select * from tb where datediff(week , 时间字段 ,getdate()) = 0 

    上周 

    select * from tb where datediff(week , 时间字段 ,getdate()) = 1 

    下周 

    select * from tb where datediff(week , 时间字段 ,getdate()) = -1 


    -------------------------------------------------------- 

    昨天:dateadd(day,-1,getdate()) 

    明天:dateadd(day,1,getdate()) 

    上月:month(dateadd(month, -1, getdate())) 

    本月:month(getdate()) 

    下月:month(dateadd(month, 1, getdate()))

  • 相关阅读:
    原创 动态卷积
    BZOJ1565 植物大战僵尸
    BZOJ1143 [CTSC2008] 祭祀river
    BZOJ3438 小M的作物
    BZOJ3144 [HNOI2013]切糕
    BZOJ2039 [2009国家集训队]employ人员雇佣
    BZOJ1066[SCOI2007]蜥蜴
    BZOJ3874 codevs3361 宅男计划
    Codeforces Round #343 (Div. 2)
    [转]后缀自动机(SAM)
  • 原文地址:https://www.cnblogs.com/GreenGrass/p/3007131.html
Copyright © 2011-2022 走看看