SQLServer查询最近一天,三天,一周,一月,一季度方法
2016-04-28 16:57
441 查看
SQL
Server DATEPART() 函数
三天 select * from T_news where datediff(day,addtime,getdate())<= 2 and datediff(day,addtime,getdate())>=
0
一周 select * from T_news WHERE (DATEPART(wk, addtime) = DATEPART(wk, GETDATE())) AND (DATEPART(yy, addtime)
= DATEPART(yy, GETDATE()))
注意:此时不能用 datediff 差值为7,因为,datediff只表示间隔数
一月 select * from T_news WHERE (DATEPART(yy, addtime) = DATEPART(yy, GETDATE())) AND (DATEPART(mm, addtime)
= DATEPART(mm, GETDATE()))
一季度 select * from T_news where DATEPART(qq, addtime) = DATEPART(qq, GETDATE()) and DATEPART(yy, addtime)
= DATEPART(yy, GETDATE())
本周:select * from table where datediff(week,C_CALLTIME,getdate())=0 --C_CALLTIME 为日期字段
本月:select * from table where datediff(Month,C_CALLTIME,getdate())=0 --C_CALLTIME 为日期字段
本季:select * from table where datediff(qq,C_CALLTIME,getdate())=0
前半年1-6,后半年7-12:select * from table where datepart(mm,C_CALLTIME)/7 = datepart(mm,getdate())/7
----------------------------------------------------------------------------------------------
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 时间字段 >= 时间字段
上月
Server DATEPART() 函数
三天 select * from T_news where datediff(day,addtime,getdate())<= 2 and datediff(day,addtime,getdate())>=
0
一周 select * from T_news WHERE (DATEPART(wk, addtime) = DATEPART(wk, GETDATE())) AND (DATEPART(yy, addtime)
= DATEPART(yy, GETDATE()))
注意:此时不能用 datediff 差值为7,因为,datediff只表示间隔数
一月 select * from T_news WHERE (DATEPART(yy, addtime) = DATEPART(yy, GETDATE())) AND (DATEPART(mm, addtime)
= DATEPART(mm, GETDATE()))
一季度 select * from T_news where DATEPART(qq, addtime) = DATEPART(qq, GETDATE()) and DATEPART(yy, addtime)
= DATEPART(yy, GETDATE())
本周:select * from table where datediff(week,C_CALLTIME,getdate())=0 --C_CALLTIME 为日期字段
本月:select * from table where datediff(Month,C_CALLTIME,getdate())=0 --C_CALLTIME 为日期字段
本季:select * from table where datediff(qq,C_CALLTIME,getdate())=0
前半年1-6,后半年7-12:select * from table where datepart(mm,C_CALLTIME)/7 = datepart(mm,getdate())/7
----------------------------------------------------------------------------------------------
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 时间字段 >= 时间字段
上月
相关文章推荐
- 数据迁移 flyway
- Mysql初始化root密码和允许远程访问
- MySQL 5.7 新特性大全和未来展望
- sql执行顺序
- Python中MySQL数据迁移到MongoDB脚本的方法
- oracle 查看锁表 清除锁表
- redis在PHP中的基本使用案例
- Oracle 12C优化器的巨大变化,上生产必读(上)
- Oracle 11g笔记——数据库启动
- sqlserver中All、Any和Some用法与区别
- MySQL数据库导入导出常用命令
- 一个慌里慌张的中午
- oracle日期字段只取日期不要时间
- MySQL编码设置方法
- 0044 MySQL Workbench 入门教程
- 数据库一主多备原理(转)
- Redis安装部署
- mysql查询优化技巧
- mysql查询优化技巧
- Redis学习笔记(-)win7安装redis