• 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()))

  • 相关阅读:
    生成.project、.classpath文件
    Ecelipse上添加Server
    通信安全验证
    通过jstack定位在线运行java系统故障_案例1
    自动代码复制工具
    在Visual Studio Express 2013中开发自定义控件
    通过java类文件识别JDK编译版本
    去掉java反编译(JD-GUI)生成的源文件中注释
    循环处理目录下文件框架
    java查找重复类/jar包/普通文件
  • 原文地址:https://www.cnblogs.com/GreenGrass/p/3007131.html
Copyright © 2020-2023  润新知