
1> SELECT
2> DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0) AS [本月1号],
3> DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) - 1, 0) AS [上月1号]
4> GO
本月1号 上月1号
----------------------- -----------------------
2014-01-01 00:00:00000 2013-12-01 00:00:00000
(1 行受影响)
你那里具体使用的时候, 就是
WHERE 日期列 >= 上月1号 AND 日期列 < 本月1号
就可以了。
当前时间 select getdate()\x0d\当前时间周的起始日期(以周一为例)select DATEADD(week,DATEDIFF(week,0,getdate()),0)\x0d\上周起始:select dateadd(week,-1,DATEADD(week,DATEDIFF(week,0,getdate()),0))\x0d\上上周起始:select dateadd(week,-2,DATEADD(week,DATEDIFF(week,0,getdate()),0))\x0d\上上上周起始:select dateadd(week,-3,DATEADD(week,DATEDIFF(week,0,getdate()),0))\x0d\\x0d\周七以此类推
工具:sqlserver 2008 R2
步骤:
1、计算2009-06-23与2009-06-17之间的天数。语句如下:
select datediff(d,'2009-06-17','2009-06-23')
2、查询结果:
datediff函数:
语法:DATEDIFF(datepart,startdate,enddate)
startdate 和 enddate 参数是合法的日期表达式。
datepart 参数可以是下列的值:
结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;
sql 语句就是对数据库进行 *** 作的一种语言。
折叠sql语句
更新:update table1 set field1=value1 where 范围
查找:select from table1 where field1 like '%value1%' (所有包含'value1'这个模式的字符串)
排序:select from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
1> SELECT GETDATE() AS 今天, DATEADD(mm, -1, GETDATE() ) AS 上月
2> go
今天 上月
----------------------- -----------------------
2011-10-13 17:01:23223 2011-09-13 17:01:23223
(1 行受影响)
上面是 sql server 的函数。
sql按日期中的月份查询如下:
SQL Server
select from [data] where DATEPART(m,[date])=2
Access
select from [data] where DATEPART('m',[date])=2
说明:
DATEPART(datepart,date)
返回表示指定日期的指定部分的整数
datepart 要取得的日期部分
- m 表示月份,d表示日,yyyy表示年
date 日期表达式
举例:
--以2013-12-10 12:56:55为例
--convert(nvarchar(10),CreateDate,120) => 2013-12-10
--DATEPART(month,CreateDate) => 12
--DATEPART(year,CreateDate) => 2013
--月
select datepart(MONTH,'2013-06-08')
select datepart(mm,'2013-06-08')
select datepart(m,'2013-06-08')
扩展资料:
相关函数
SQL Aggregate 函数
SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。
有用的 Aggregate 函数:
AVG() - 返回平均值
COUNT() - 返回行数
FIRST() - 返回第一个记录的值
LAST() - 返回最后一个记录的值
MAX() - 返回最大值
MIN() - 返回最小值
SUM() - 返回总和
SQL Scalar 函数
SQL Scalar 函数基于输入值,返回一个单一的值。
有用的 Scalar 函数:
UCASE() - 将某个字段转换为大写
LCASE() - 将某个字段转换为小写
MID() - 从某个文本字段提取字符
LEN() - 返回某个文本字段的长度
ROUND() - 对某个数值字段进行指定小数位数的四舍五入
NOW() - 返回当前的系统日期和时间
以上就是关于sql server 2008 查询语句 我想在不管是哪个月的任何时间,查询的都是上个月的数据。全部的内容,包括:sql server 2008 查询语句 我想在不管是哪个月的任何时间,查询的都是上个月的数据。、sql如何通过当前日期获取上周、上上周、上上上周的起始日期、在Sql语句中怎样计算出两个日期的差值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)