--查询当天:

  1. select * from info where DateDiff(dd,datetime,getdate())=0

--查询24小时内的:

  1. select * from info where DateDiff(hh,datetime,getDate())<=24

--info为表名,datetime为数据库中的字段值

--查询当天:

  1. select * from table where DateDiff(dd,datetime,getdate())=0 --查询24小时内的: select * from table where DateDiff(hh,datetime,getDate())<=24

--table 为表名,datetime为数据库中的字段值

DATEDIFF 函数:
语法:

  1. select * from table where DateDiff(dd,datetime,getdate())=0 --查询24小时内的: select * from table where DateDiff(hh,datetime,getDate())<=24

备注:
enddate 减去 startdate。如果 startdate 晚于 enddate,则返回负值。
如果结果超出整数值范围,则 DATEDIFF 将产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。
跨分钟、秒和毫秒等边界计算的方法使得 DATEDIFF 指定的结果在所有数据类型中均一致。结果是带正负号的整数值,它等于跨第一个和第二个日期间的 datepart 边界数。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之间的星期数是 1。

  1. --本月记录
  2. SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0
  3. --本周记录
  4. SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0

--包括本年这些查询方式是一样的

  1. --本月记录
  2. SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0
  3. --本周记录
  4. SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0

--包括本年这些查询方式是一样的

sql server中的时间函数
1.   当前系统日期、时间

  1. select getdate()

2. dateadd   在向指定日期加上一段时间的基础上,返回新的 datetime 值
    例如:向日期加上2天

  1. select dateadd(day,2,'2004-10-15')   --返回:2004-10-17 00:00:00.000

3. datediff 返回跨两个指定日期的日期和时间边界数。

  1. select datediff(day,'2004-09-01','2004-09-18')    --返回:17

4. datepart 返回代表指定日期的指定日期部分的整数。

  1. SELECT DATEPART(month, '2004-10-15')   --返回 10

5. datename 返回代表指定日期的指定日期部分的字符串

  1. SELECT datename(weekday, '2004-10-15')   --返回:星期五

6. day(), month(),year() --可以与datepart对照一下

  1. select 当前日期=convert(varchar(10),getdate(),120),当前时间=convert(varchar(8),getdate(),114)
  2. select datename(dw,'2004-10-15')
  3. select 本年第多少周=datename(week,'2004-10-15')
  4. 今天是周几=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

access 和 asp 中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似

举例:
1.GetDate() 用于sql server :select GetDate()
2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为 514592 秒
DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天
3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期一(周日为1,周六为7)
DatePart('d','2005-7-25 22:56:32')返回值为 25即25号
DatePart('y','2005-7-25 22:56:32')返回值为 206即这一年中第206天
DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年

判断表存在不存在:

  1. select   count(*)   from   sysobjects   where   type='U'   and   name='你的表名'

判断字段存在不存在:

  1. select   count(*)   from   syscolumns
  2. where   id       =   (select   id   from   sysobjects   where   type='U'   and   name='你的表名')
  3. and       name   =   '你要判断的字段名'

//SQL当前日期获取技巧
一个月第一天的SQL 脚本:

  1. SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

本周的星期一

  1. SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

一年的第一天

  1. SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

季度的第一天

  1. SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)

当天的半夜

  1. SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)

上个月的最后一天

  1. SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))

转自:https://www.cnblogs.com/spring_wang/p/4748124.html

SQL查询当天、本周、本月记录详解的更多相关文章

  1. SQL DATEDIFF语法及时间函数 Sql 查询当天、本周、本月记录

    SQL DATEDIFF语法及时间函数 Sql 查询当天.本周.本月记录 转:http://blog.csdn.net/Json1204/article/details/7863801?locatio ...

  2. 用sql查询当天,一周,一个月的数据

    用sql查询当天,一周,一个月的数据   数据查询,不管在网站还是在系统,都很常见,下文是介绍最常见的以日期查询的语句 select * from ShopOrder where datediff(w ...

  3. SQL Server数据库ROW_NUMBER()函数使用详解

    SQL Server数据库ROW_NUMBER()函数使用详解 摘自:http://database.51cto.com/art/201108/283399.htm SQL Server数据库ROW_ ...

  4. MySQL慢查询(二) - pt-query-digest详解慢查询日志 pt-query-digest 慢日志分析

    随笔 - 66 文章 - 0 评论 - 19 MySQL慢查询(二) - pt-query-digest详解慢查询日志 一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它 ...

  5. Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt

    PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...

  6. Solr系列五:solr搜索详解(solr搜索流程介绍、查询语法及解析器详解)

    一.solr搜索流程介绍 1. 前面我们已经学习过Lucene搜索的流程,让我们再来回顾一下 流程说明: 首先获取用户输入的查询串,使用查询解析器QueryParser解析查询串生成查询对象Query ...

  7. 关于SQL的几道小题详解

    关于SQL的几道小题详解 当我们拿到题目的时候,并不是急于作答,那样会得不偿失的,而是分析思路,采用什么方法,达到什么目的,还要思考有没有简单的方法或者通用的方法等等,这样才会达到以一当十的效果,这样 ...

  8. sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解

    介绍了sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解 --服务器角色: --固定服务器角色具有一组固定的权限,并且适用于整个服务器范围. 它们专门用于管理 SQL S ...

  9. 04、SQL 查询当天,本月,本周的记录

    SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111)   ORDE ...

随机推荐

  1. wepy框架滑动组件使用

    https://github.com/dlhandsome/wepy-com-swiper

  2. pandas 筛选某一列最大值最小值 sort_values、groupby、max、min

    高效方法: dfs[dfs['delta'].isnull()==False].sort_values(by='delta', ascending=True).groupby('Call_Number ...

  3. zabbix(7)邮件报警配置

    邮件报警可以使用Linux自带邮件服务器(postfix等),也可以使用其他邮件服务器(像腾讯邮箱,126邮箱) 一.使用mail. 1.确定zabbix server是否安装发送邮件的命令mail, ...

  4. 在vscode里面光标跳跃的问题

    https://tieba.baidu.com/p/5242680781?red_tag=2439355674 卸载 JS-CSS-HTML Formatter就可以了.卸载完还要加载一下哦

  5. iOS UILabel镂空特效

    http://stackoverflow.com/questions/18716751/drawing-a-path-with-subtracted-text-using-core-graphics ...

  6. 【转】Eclipse MAT内存分析工具(Memory Analyzer Tool)

    Eclipse MAT内存分析工具(Memory Analyzer Tool) MAT内存分析工具# MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器.可以用于查找 ...

  7. ORACLE数据库误删恢复

    一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询被删除的表 select * from r ...

  8. 5.linux 软件安装的三种方法

      一.linux 操作系统中 软件的分类 以及软件的安装     vmtools  调用了perl语言写的安装脚本去进行内核的升级安装  ./ xxxxx        源码包安装软件:GNU  使 ...

  9. 按比例吃CPU

    前几天测试软件在多核上的性能,需要按照比例吃各个CPU,查了查资料,撸了下面一小段代码: #include <unistd.h> #include <stdlib.h> #in ...

  10. React 高阶组件浅析

    高阶组件的这种写法的诞生来自于社区的实践,目的是解决一些交叉问题(Cross-Cutting Concerns).而最早时候 React 官方给出的解决方案是使用 mixin .而 React 也在官 ...