在sql server 2008中如何查询本日、本周和本月数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在sql server 2008中如何查询本日、本周和本月数据相关的知识,希望对你有一定的参考价值。

表名为table 列名为col。其中col这一列存的是写入数据时的日期,格式是datetime。请问查询当日、本周和本月内的数据的sql 语句怎么写?谢谢您了!

--本日
select * from table where col between cast((convert(varchar(10),getdate(),120) as datetime) and cast((convert(varchar(10),getdate(),120)+\' 23:59:59.997\' as datetime)

SELECT * FROM table WHERE datediff(day,col,getdate())=0

--本周
SELECT * FROM table WHERE datediff(week,col,getdate())=0

--本月
select * from table where col between cast((convert(varchar(7),getdate(),120)+\'-1\' as datetime) and cast((convert(varchar(7),dateadd(m,1,,getdate()),120)+\'-1\' as datetime)来自:求助得到的回答
参考技术A 用到 datediff 函数: 返回跨两个指定日期和时间边界数。(获取两个时间之间的是时间段)

--今天
select * from table where datediff(day,col,getdate())=0
--本周
select * from table where datediff(week,col,getdate())=0
--本月
select * from table where datediff(month,col,getdate())=0

sql 在SQL Server上显示所有数据库

CREATE    TABLE    ##   temp  
 (  
    DatabaseName sysname,  
       NAME   sysname,  
    physical_name nvarchar(500),  
       SIZE    DECIMAL   (18,2),  
    FreeSpace   DECIMAL   (18,2)  
 )     
 EXEC   sp_msforeachdb   '  
 USE [   ?   ];  
 INSERT INTO    ##   temp (DatabaseName,   NAME   , physical_name,   SIZE   , FreeSpace)  
       SELECT   DB_NAME()   AS   [DatabaseName],   NAME   ,  physical_name,  
       CAST   (   CAST   (Round(   CAST   (   SIZE    AS    DECIMAL   )   *   8.0   /   1024.0,2)   AS    DECIMAL   (18,2))   AS   nvarchar)   SIZE   ,  
       CAST   (   CAST   (Round(   CAST   (   SIZE    AS    DECIMAL   )   *   8.0   /   1024.0,2)   AS    DECIMAL   (18,2))   -  
           CAST   (FILEPROPERTY(   NAME   ,   ''   SpaceUsed   ''   )   *   8.0   /   1024.0   AS    DECIMAL   (18,2))   AS   nvarchar)   AS   FreeSpace  
       FROM   sys.database_files  
 '  
 SELECT    *    FROM    ##   temp  
 DROP    TABLE    ##   temp 

以上是关于在sql server 2008中如何查询本日、本周和本月数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL Server 2005/2008 中清除查询执行统计信息

如何在 SQL Server 2008 中查看打开的连接/正在运行的查询? [复制]

sql server 2008数据库中如何像oracle那样查询表的数目

如何在 sql server 2008 中编写对行到列的查询?

如何在SQL Server 2008中放置子查询

sql server2008 怎么用like 查询 结果里面带引号的内容