sql server 2008 查询语句 我想在不管是哪个月的任何时间,查询的都是上个月的数据。

sql server 2008 查询语句 我想在不管是哪个月的任何时间,查询的都是上个月的数据。,第1张

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\周七以此类推

sql语句中计算两个日期的差值用datediff函数

工具: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语句中怎样计算出两个日期的差值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9645620.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存