----今日------
SELECT * FROM 表名 WHERE datediff(day,字段名,getdate())=0;
----昨天------
SELECT * FROM 表名 WHERE datediff(day,字段名,getdate())=1;
-----本月-----
select * from 表名 where datepart(mm,字段名)=datepart(mm,getdate())
-----今年------
select * from 表名 where datepart(YYYY,字段名)=datepart(YYYY,getdate())
-----指定时间段------
select * from tablename where start_date between CONVERT(datetime , '2008/05/01', 111 ) and convert(datetime , '2008/05/31', 111 )
select 当前日期=convert(varchar(10),getdate(),120),当前时间=convert(varchar(8),getdate(),114)
select 本年第多少周=datename(week,'2004-10-15') ,今天是周几=datename(weekday,'2004-10-15')
函数 参数/功能
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指定部分所对应的字符串名称
参数 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
---求相差天数
select datediff(day,'2004-01-01',getdate())
--1.一个月第一天的
SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0)
--2.本周的星期一
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()),0)
--3.本周的星期日
select dateadd(wk,datediff(wk,0,getdate()),6)
--4.一年的第一天
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()),0)
--5.季度的第一天
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()),0)
--6.当天的半夜
SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()),0)
--7.上个月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))
--8.去年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))
--9.本月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))
--10.本年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))
--11.本月的第一个星期一
select DATEADD(wk,DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())),0)
注意:
Convert()函数中的各个参数的意义,第一个参数,varchar(10)是目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。第二个参数是你要转换的字段,我这里是[time]。最后一个就是格式了,这个值是可选的:20或者120都可以,它遵循的是[ODBC 规范],输入/输出样式为:yyyy-mm-dd hh:mm:ss[.fff]
具体的可以参考Sql Server的联机帮助!
======================================================
T-Sql查找表中当月的记录
思路:将要查找的时间字段用Month()函数取出其中的月份,然后再取出当前月的月份,对比就OK了
例:
Select * From VIEW_CountBill Where Month([time]) = Month(getDate())
大家灵活运用吧。
分享到:
相关推荐
使用sql语句将查询的数据中的值按时间递增累加
sql时间段查询
除了前一章介绍的SQL基本功能之外,SQL还可以用来完成其他一些重要且复杂的操作。 对于全世界来说,不同的地点有不同的时间,不同地点的人可能操纵相同数据库中的数据。数据库中需要存储准确的数据,这些数据离不开...
sql查询oracle时间段操作,通过oracle数据库快照来实现恢复数据
数据库sql语句按时间查询全部详解 datediff(day,列名,getdate())等函数的使用例子
本文主要通过一下几个方面介绍...例如,下面的查询可用于查找使用最多读取,写入,工作时间(CPU)等的查询。查询结果如下所示。下面的图片来自我制作的营销应用程序。您可以看到一个特定查询(前一个)占用了所有资源
通过时间空间datetimepicker中的年月日进行筛选,比对数据库查询出数据,只是按年月日查询,不牵扯到时分秒
内容:本章介绍SQL语句的条件查询和排序操作。 产品:Oracle 10g 技术:SQL语句、Sql*Plus 难度:★★☆☆☆
1.查询时间段内执行的sql、Produce select * from v$sqlarea a where 1=1 and a.LAST_ACTIVE_TIME >= to_date( '2013-02-21 18:23:00','yyyy-MM-dd HH24:mi:ss') and a.LAST_ACTIVE_TIME < to_date( '2013-...
显示我们的sql查询所花的时间。
书名: SQLServer2008查询性能优化 作者: 弗里奇(Grant Fritchey) 出版社: 人民邮电出版社 出版日期: 2010年8月1日 ISBN: 9787115230294 编辑推荐 《SQL Server 2008查询性能优化》为你提供了处理查询性能所...
PHP sqlserver ajax 查询
使用sql语句查询日期 select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查询当天日期在一周年的数据 select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 //查询当天的所有...
【赛迪网-IT技术报道】SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有...
《SQL Server 2008查询性能优化》,由于文件比较大,压缩成两个文件,下载的朋友注意了。 《SQL Server 2008查询性能优化》为你提供了处理查询性能所需要的工具。建立、维护数据库和数据库服务器可能是个困难的工作...
一些常见的sql时间范围查询
各种时间查询语句!年月日~星期,钟点。应有尽有!
在sql server 数据库中,在一段时间范围内,间隔几条数据取出一条信息的检索方法。如:时间段内“2020-10-10 00:00:00” 到“2020-10-11 00:00:00”内,间隔30秒取出一套数据方法
时间函数,sqlserver,标签系统标签系统标签系统标签系统
帆软报表查询性能sql分析插件、可优化sql,显示sql查询快慢,每个单元格的计算时间