`

sql查询当月,本天,本周,本月的记录Sql代码

 
阅读更多


sql查询当月,本天,本周的记录Sql代码
--查询当天:   
select * from info where DateDiff(dd,datetime,getdate())=0   
  
--查询24小时内的:   
select * from info where DateDiff(hh,datetime,getDate())<=24   
  
--info为表名,datetime为数据库中的字段值 
--查询当天:select * from info where DateDiff(dd,datetime,getdate())=0--查询24小时内的:select * from info where DateDiff(hh,datetime,getDate())<=24--info为表名,datetime为数据库中的字段值

Sql代码
--查询当天记录另类的方法   
SELECT *   
FROM j_GradeShop   
WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000')   
      AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1)   
ORDER BY GAddTime DESC  
--查询当天记录另类的方法SELECT *FROM j_GradeShopWHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1)ORDER BY GAddTime DESC

DATEDIFF 函数:

语法:

DATEDIFF ( datepart , startdate , enddate ) 备注:
enddate 减去 startdate。如果 startdate 晚于 enddate,则返回负值。

如果结果超出整数值范围,则 DATEDIFF 将产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。

跨分钟、秒和毫秒等边界计算的方法使得 DATEDIFF 指定的结果在所有数据类型中均一致。结果是带正负号的整数值,它等于跨第一个和第二个日期间的 datepart 边界数。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之间的星期数是 1。


可以再MSSQL中测试:

Sql代码
--两个时间差刚好是24   
--打印的方式   
print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')   
  
--查询的方式   
print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0') 
--两个时间差刚好是24--打印的方式print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')--查询的方式print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')

Sql代码
--本月记录   
SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0   
  
--本周记录   
SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0   
  
--包括本年这些查询方式是一样的   
  
--本月记录 SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0 --本周记录 SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0--包括本年这些查询方式是一样的

sql server中的时间函数


1.   当前系统日期、时间
     select getdate() 


2. dateadd   在向指定日期加上一段时间的基础上,返回新的 datetime 值
    例如:向日期加上2天
    select dateadd(day,2,'2004-10-15')   --返回:2004-10-17 00:00:00.000


3. datediff 返回跨两个指定日期的日期和时间边界数。
    select datediff(day,'2004-09-01','2004-09-18')    --返回:17


4. datepart 返回代表指定日期的指定日期部分的整数。
   SELECT DATEPART(month, '2004-10-15')   --返回 10


5. datename 返回代表指定日期的指定日期部分的字符串
    SELECT datename(weekday, '2004-10-15')   --返回:星期五


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

select 当前日期=convert(varchar(10),getdate(),120)
,当前时间=convert(varchar(8),getdate(),114)

select datename(dw,'2004-10-15')

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


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年
分享到:
评论

相关推荐

    sql查询本月的记录.

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在SQL Server环境中查询特定时间段内的记录,尤其是本月、本周、本季度以及本年的记录。以下是对这些知识点的详细阐述: ### 一、...

    Oracle sql查询当前月的所有日期

    ### Oracle SQL查询当前月的所有日期 #### 背景介绍 在许多业务场景中,我们经常需要按照月份来汇总或分析数据。例如,在月底进行销售数据统计时,往往需要获取整个月份每天的数据。因此,能够快速有效地获取当前...

    sqlserver 计算当月所有自然周的区间。

    根据提供的文件信息,我们可以了解到这段代码的主要目的是在SQL Server中计算出指定月份的所有自然周的起始和结束日期,并将这些信息存储在一个名为`monthWeekBetween`的表中。接下来,我们将详细解释其中的关键概念...

    SQL获取当前月的第一天和最后一天和当前月一共几天

    在这个计算过程中,我们首先将`@NOW`减去其日数,得到当月的第一天,然后向这个日期添加一个月(DATEADD(MONTH, 1, ...)),得到下月的第一天,最后再减去1,得到的就是本月的最后一天。最后,使用`DAY`函数获取...

    mysql 查询本周、上周、本月

    - 查询当月的数据: ```sql SELECT * FROM user WHERE MONTH(FROM_UNIXTIME(pudate, '%y-%m-%d')) = MONTH(now()); ``` - 查询当年当月的数据: ```sql SELECT * FROM [user] WHERE YEAR(FROM_UNIXTIME...

    sql取不同的日期

    本文将详细介绍如何使用SQL语句来获取不同的日期,包括本月天数、上个月的第一天、本周周一以及当日等。 #### 1. 获取上一天的日期 示例代码:`SELECT dateadd(dd,-1,'20100514')` **解释**:此语句用于返回指定...

    整理的SQL日期函数语句

    12. **查询特定月份、周、季度的记录**:在SQL查询中,可以利用`DATEPART`来筛选特定日期范围的记录,例如查询本年的记录、本周的记录或者本季度的记录。 13. **获取当月总天数**:可以通过`DATEDIFF`函数计算下个...

    SQL Server 2000下日期操作的实用范例

    10. **查询本月的记录**: 在查询时,利用`DATEPART`函数检查日期字段`theDate`的月份和年份是否与当前月份和年份相同,以筛选本月的记录。 11. **查询本周的记录**: 类似地,检查日期字段的星期和年份,以筛选...

    sql 日期函数

    4. **查询当月的数据**: - `SELECT * FROM TableName WHERE DateDiff(mm, DateTimCol, GetDate()) = 1;` - 返回表`TableName`中,`DateTimCol`列值为上个月的数据。 - `SELECT * FROM TableName WHERE DateDiff...

    sql server

    - **查询当月记录:** ```sql SELECT * FROM tableName WHERE DATEPART(mm, theDate) = DATEPART(mm, GETDATE()) AND DATEPART(yy, theDate) = DATEPART(yy, GETDATE()); ``` - **查询当前周的记录:** ```sql ...

    MySQL查询本周上周上个月份

    查询当月的数据可以使用 `DATE_FORMAT()` 函数来提取日期中的月份信息,并与当前月份进行比较。具体 SQL 如下: ```sql SELECT name, submittime FROM enterprise WHERE DATE_FORMAT(submittime, '%Y-%m') = DATE_...

    毕业设计javajsp房产中介系统sqlserver-qr源码含文档工具包

    房源租售报表统计模块,主要是管理员对当日或者当月房屋出租或者出售情况的统计,便于管理和存档,可以及时将本日或者本月情况打印出来。 二手房租售合同管理模块,主要是针对客户在选择好房屋后,及时快捷的填写租...

    数据库中日期时间用法

    本文将深入探讨Oracle数据库中日期时间的用法,通过一系列实用的函数,帮助读者掌握如何在SQL查询中高效地操作日期时间数据。 ### 一、Sysdate:获取当前日期和时间 `Sysdate`是Oracle中最常用的内置函数之一,...

    SQLSERVER 时间格式大全

    示例中展示了许多日期和时间的操作,如获取上个月的第一天和最后一天,本月第一天和最后一天,本年的第一天和最后一天,以及本季度的第一天等。这些操作通常结合`DATEADD`和`DATEDIFF`一起使用。 6. **星期计算**...

    Oracle中查询本月星期5的所有日期列表的语句

    在Oracle数据库中,查询特定日期列表,如本月所有星期五的日期,可以通过SQL查询语句实现。以下将详细解析标题和描述中提到的查询语句,并扩展相关知识点。 首先,让我们分析给出的查询语句: ```sql SELECT * ...

    oracle练习及答案

    - **SQL语句**: 查询本月最后一天: - `SELECT LAST_DAY(SYSDATE) FROM DUAL;` #### 21. 下一个星期一是几号? - **知识点**: 使用`NEXT_DAY`函数找到下一个指定日期。 - **SQL语句**: 找到下一个星期一: - `...

    mysql 查询当天、本周,本月,上一个月的数据

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) &lt;= 1 近7天 SELECT * FROM 表名 where DATE_...本月 SELECT *

    微创笔试题目

    解决这个问题,我们可以使用 SQL 的日期函数来计算本月的最后一天。 在 MySQL 中,我们可以使用 `LAST_DAY` 函数来实现: ```sql SELECT LAST_DAY(CURDATE()) AS last_day; ``` 这个函数将返回当前月份的最后一天。...

    Java默认传入时间段时间的实例

    例如,以下代码展示了如何将开始和结束日期拼接到SQL查询中: ```java String sql = "select count(id) from getDealerAccount(" + form.getBeginDate() + "," + form.getEnd() + ") "; System.out.println("报表...

Global site tag (gtag.js) - Google Analytics