--查询当天:

  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. MongoDB 查看集合是否分片

    MongoDB会把分片过的集合保存在config.collection集合中,若需要查看分片键,则需要根据该集合进行查找.官方的其他很多分片快捷命令也都处于config库 三种方式 1.去config ...

  2. PostgreSQL、Greenplum 日常监控 和 维护任务

    背景 Greenplum的日常监控点.评判标准,日常维护任务. 展示图层 由于一台主机可能跑多个实例,建议分层展示. 另外,即使是ON ECS虚拟机(一个虚拟机一个实例一对一的形态)的产品形态,实际上 ...

  3. Greenplum 常用数据字典

    一.数据库集群信息 1.gp_segment_configration 2.pg_filespace_entry 这两个表是在pg_global表空间下面的,是全局表. 用来查看集群segment信息 ...

  4. Linq找不到行或行已更改

    1.发生这种情况第一时间是确认了database明明存在这条数据 2.然后确认了Linq查找的条件中是否有连接条件使得连续更新中发生变化 3.最后发现原来是Linq使用的表实际中有个field由not ...

  5. Python的模块,模块的使用、安装,别名,模块作用域

    模块和包 所谓的模块就是将不同功能的函数分别放到不同的文件中,这样不仅有利于函数的维护,也方便了函数的调用.在Python中,一个.py文件就是一个模块(Module). 在模块的上层有一个叫做包(P ...

  6. pandas记录

    pandas的map方法使用 import pandas as pd import numpy as np data = pd.DataFrame(np.random.randint(0, 10, ( ...

  7. MySQL 环比计算

    SELECT t.*, CASE WHEN t.SaleDealMoney_last ,) END link_ratio FROM ( SELECT a.my_ym, FORMAT(a.SaleDea ...

  8. c 字符串的结束标志

    //char carray[]="nihao"; char carray[]={'a','b','c','d','\0'}; printf("array=%s" ...

  9. redis缓存击穿问题一种思路分享

    思路每一个key都有一个附属key1,附属key1可以是key加特定前缀组成,key对应value为真正的缓存数据,附属key1对应的value不重要,可以是随便一个值,附属key1的作用主要是维护缓 ...

  10. 搭建vue-cli

    https://www.cnblogs.com/wisewrong/p/8570309.html https://www.jianshu.com/p/1ee1c410dc67