首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在MS SQL中获取上个月的最新日期

在MS SQL中获取上个月的最新日期,可以使用以下方法:

  1. 使用DATEADD函数和GETDATE函数结合,先获取当前日期,然后使用DATEADD函数减去一个月的时间间隔,最后使用CONVERT函数将结果转换为日期格式。
代码语言:txt
复制
SELECT CONVERT(DATE, DATEADD(MONTH, -1, GETDATE())) AS LastMonth
  1. 使用DATEFROMPARTS函数和YEAR、MONTH函数结合,先获取当前年份和月份,然后根据条件判断是否需要减去一年,再根据条件判断是否需要减去一个月,最后使用DATEFROMPARTS函数构建日期。
代码语言:txt
复制
SELECT DATEFROMPARTS(
    CASE WHEN MONTH(GETDATE()) = 1 THEN YEAR(GETDATE()) - 1 ELSE YEAR(GETDATE()) END,
    CASE WHEN MONTH(GETDATE()) = 1 THEN 12 ELSE MONTH(GETDATE()) - 1 END,
    1
) AS LastMonth

以上两种方法都可以获取上个月的最新日期。在实际应用中,可以根据具体需求选择适合的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在 WordPress 获取最新被评论文章列表

我之前「WordPress 文章查询教程6:如何使用排序相关参数」详细介绍了文章查询排序参数,其中介绍可以通过评论数进行排序: $query = new WP_Query( array(...'orderby' => 'comment_count' ) ); 但是需求总是不停变化,现在又有了新需求,获取最新被评论文章列表,意思就是某篇文章刚被评论,它就排到最前面,在某些社交需求网站可能需要用到...但是使用 SQL 来实现可能就会造成 API 不一致问题,无法直接使用 WP_Query 进行各种操作,所以最好是通过 posts_clauses 接口实现让 WP_Query 排序参数支持 comment_date...$order}"; } return $clauses; }, 10, 2); 上面的代码简单解释一下,就是通过 posts_clauses 接口实现文章表和评论表连表,然后通过评论时间进行排序获取最新被评论文章列表...当然你也可以不需要了解和使用上面的代码,因为 WPJAM Basic 已经整合,你只需要知道最后可以通过下面简单方式就能够获取最新被评论文章列表: $query = new WP_Query( array

1.5K30
  • MySQL操作工资表,获取累计工资和月平均工资

    根据一个实际需求案例,描述一下:如何在工资条添加获取累计工资[字段]和月平均工资[字段] 这个需求存在一个前后端分离微服务EHR项目中,通过两个SQL语句来实现。...两个SQL语句就写在MyBatis。...3、最后,判断当前日期,如果当前日期是15号或者15号之前,则显示上个月工资条;15号之后,则显示当月工资条。...这些就需要自己去学习啦~我们今天侧重点在MySQL这一部分。 1、工资条,有很多内容,但是存在与数据库工资表,这样的话,把数据拿来显示就行了。这个不需要去分析。...这里注意一下count(total_theory_wages)为0情况,如果一个人上个月刚刚入职,还没法工资,虽然在前台看不到工资条数据(对于前台来说,是正确现象;但是后台是会报错。)

    3.8K20

    mysql语句和sql语句区别_oracle和sqlserver语法区别

    sql和mysql语法区别有:mysql支持enum和set类型,sql不支持,mysql需要为表指定存储类型,mysqlLtext字段类型不允许有默认值,sql允许有等等方面都存在差异 MySQL...[],[type]表示他区别于关键字,但是MySQL却是 `,也就是按键1左边那个符号 7、MS SQL支持getdate()方法获取当前时间日期,但是MySQL里面可以分日期类型和时间类型,获取当前日期是...current_date (),当前完整时间是 now()函数 8、MS SQL不支持replace into 语句,但是在最新sql20008里面,也支持merge语法 9、MySQL支持insert...19、一个很表面的区别就是MySQL安装特别简单,而且文件大小才110M(非安装版),相比微软这个庞然大物,安装进度来说简直就是… 20、MySQL存储过程只是出现在最新版本,稳定性和性能可能不如...发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.7K10

    Sql年月日计算方法

    一个月第一天         第一个例子,我将告诉你如何从当前日期去这个月最后一天。请注意:这个例子以及这篇文章其他例子都将只使用DATEDIFF和DATEADD函数来计算我们想要日期。...上个月最后一天         这是一个计算上个月最后一天例子。它通过从一个月最后一天这个例子上减去3毫秒来获得。有一点要记住,在Sql  Server时间是精确到3毫秒。...SELECT  dateadd(ms,-3,DATEADD(mm,  DATEDIFF(mm,0,getdate()),  0))         计算出来日期时间部分包含了一个Sql  Server...SELECT  dateadd(ms,-3,DATEADD(yy,  DATEDIFF(yy,0,getdate()),  0))  本月最后一天         现在,为了获得本月最后一天,我需要稍微修改一下获得上个月最后一天语句...修改部分是把原来脚本“getdate()”部分替换成计算本月第6天,在计算中用本月第6天来替换当前日期使得计算可以获得这个月第一个星期一。

    1.6K20

    SQL Server各种日期计算方法

    一个月第一天   第一个例子,我将告诉你如何从当前日期去这个月最后一天。请注意:这个例子以及这篇文章其他例子都将只使用DATEDIFF和DATEADD函数来计算我们想要日期。...上个月最后一天   这是一个计算上个月最后一天例子。它通过从一个月最后一天这个例子上减去3毫秒来获得。有一点要记住,在Sql Server时间是精确到3毫秒。...SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))   计算出来日期时间部分包含了一个Sql Server可以记录一天最后时刻...SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))   本月最后一天   现在,为了获得本月最后一天,我需要稍微修改一下获得上个月最后一天语句...这是计算本月最后一天SQL脚本。

    2.5K20

    SQL高级日期函数

    导读 我们在工作时常需要处理某个时间段数据,例如: 如何求解上周销量? 如何求解上月第一天销售金额? 如何求解去年同期在线人数?...这些都是涉及到具体或者以当前为参照时间段数据。 我们该如何从海量数据找出准确时间段呢?...系统时间 获取系统时间有一组函数,常见有GETDATE函数,此外还有这些函数。...dy, y 日 dd, d 周 wk, ww 星期 dw, w 小时 hh 分钟 mi, n 秒 ss, s 毫秒 ms 微妙 mcs 纳秒 ns 示例 查询上个月今天,下个月今天 SELECT...此函数可在 SQL Server 2012 (11.x) 及更高版本服务器上执行远程处理。 它不能无法在版本低于 SQL Server 2012 (11.x) 服务器上执行远程处理。

    17410

    sql server 与mysql区别_sql server优缺点

    是identity(1,1) MS SQL默认到处表创建语句默认值表示是((0)),而在MySQL里面是不允许带两括号 MySQL需要为表指定存储类型 MS SQL识别符是[]...,[type]表示他区别于关键字,但是MySQL却是 `,也就是按键1左边那个符号 MS SQL支持getdate()方法获取当前时间日期,但是MySQL里面可以分日期类型和时间类型,获取当前日期是...current_date (),当前完整时间是 now()函数 MS SQL不支持replace into 语句,但是在最新sql20008里面,也支持merge语法 MySQL支持insert...,那么比不支持无符号型MS SQL就能多出一倍最大数 存储 MySQL不支持在MS SQL里面使用非常方便varchar(max)类型,这个类型在MS SQL里 面既可做一般数据存储,也可以做...MySQL存储过程只是出现在最新版本,稳定性和性能可能不如MS SQL。 同样负载压力,MySQL要消耗更少CPU和内存,MS SQL的确是很耗资源。

    2.3K20

    sql 时间总结

    (interval,date) 返回日期date,interval指定部分所对应字符串名称 参数 interval设定值如下:  值 缩 写(Sql Server) Access 和 ASP....当天半夜   SELECT   DATEADD(dd,   DATEDIFF(dd,0,getdate()),   0)   --6.上个月最后一天   SELECT   dateadd(ms...-2-2,然后格式化数据库表日期 Convert(varchar(10),TimeFiled,120),最后我们就可以用一条Sql语句得到当天数据了....-5-6 {0:D}大型:2005年5月6日 {0:f}完整型 2 当前时间获取 DateTime.Now.ToShortDateString 3 取值中格式化 SQL Server里面可能经常会用到日期格式转换方法...-5-6 {0:D}大型:2005年5月6日 {0:f}完整型 2 当前时间获取 DateTime.Now.ToShortDateString 3 取值中格式化 SQL Server里面可能经常会用到日期格式转换方法

    1.9K90

    SQL Server 时间函数

    SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0) 13、上个月最后一天 SELECT dateadd(ms,-3,DATEADD(mm,...,date) 返回日期date,interval指定部分所对应整数值 DateName (interval,date) 返回日期date,interval指定部分所对应字符串名称 其中DatePart...206天DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年 Sql 取当天或当月记录 表时间格式是这样:2007-02-02 16:50:...-2-2,然后格式化数据库表日期 Convert(varchar(10),TimeFiled,120),最后我们就可以用一条Sql语句得到当天数据了....====================================================== T-Sql查找表当月记录 思路:将要查找时间字段用Month()函数取出其中月份,然后再取出当前月月份

    2.8K60

    实战:线上SQL查询200秒优化到1.6秒

    实际项目中出现200sSQL少之又少,以前文章也记录过我在线上大表创建索引导致锁表引起过服务无响应,但这次是因为SQL联查过慢引起。...:type=URL TP95:130000.5ms 阈值:60000.0ms 最早我在上个月反应过这个问题,但是由于排期问题就搁置了,但是近期可能实在是太慢了就专门就此问题提出了优化。...首先关联条件过少,在left条件warehousecode字段并没有建立索引,当查询条件为小表数量时扫描行数如下 但当切换条件时 也就是说当前主驱动表过大,且没有用到索引导致查询过慢。...页面上只有初始查询条件,所以提出由前端增加日期参数,且对where条件建立索引。...此时已经有明显效果提升,但切换查询条件时仍然无效果,数据库查询响应仍然在40秒以上,经过分析在left主表驱动数据过大,调整SQL如下 SELECT * FROM order_header

    57930

    你真的会玩SQL吗?实用函数方法汇总

    查询指定节点及其所有父节点方法 你真的会玩SQL吗?让人晕头转向三值逻辑 你真的会玩SQL吗?EXISTS和IN之间区别 你真的会玩SQL吗?无处不在子查询 你真的会玩SQL吗?...存储过程 '''' 相当于数据库‘ 单引号 DECLARE @str VARCHAR(100) SET @str='''aaa''' SELECT REPLACE(@str,'''','"')...:"aaa" rtrim :使用 LTRIM 删除字符变量前导空格 ; RTRIM 删除字符变量尾随空格 rtrim(ltrim(splitdata)) -- 用select into 把数据放到临时表...(weekday,getdate())+1,getdate()) 得到上个月月末日期: SELECT dateadd(day,-datepart(day,getdate()),getdate()) 上月第一天...,@dt),@dt)--5.指定日期所在周任意星期几 A.

    1.3K90

    PHP获取今天,昨天,本月,上个月,本年 起始时间戳

    PHP获取今天,昨天,本月,上个月,本年 起始时间戳或日期最新更新时间为2020-04-01 date_default_timezone_set("Asia/Shanghai"); //设置为上海时间...mktime(0,0,0,date('m'),1,date('Y')); $endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y')); //上个月起始时间...: $month = 1; // 1代表上个月,可以增加数字追溯前几个月时间 $begin_time = date("Y-m-d", mktime(0, 0, 0, date("m") - 1 *...end_time = date("Y-m-d", mktime(23, 59, 59, date("m") - ($month - 1), 0, date("Y"))); // 以下方法有误差,例如3月31日那天上个月时间匹配出是..."-31"); //本年结束 //现在时间到第二天凌晨相差时间戳 $time = (strtotime(date('Y-m-d'))+3600*24) - time() ;

    1.6K20

    关于php strotime(-1 month)思考

    关于计算当前同比日期 如果业务中有这样需求,你可能很快就会想到,代码也许这样写: echo date('Ymd',strtotime('20180907 -1 month')); //output:...再做日期规范化, 因为6月没有31号, 所以就好像2点60等于3点一样, 6月31就等于了7月1 既然有问题,肯定就有人想到了解决问题方式,我们看下面这段代码: /** * 计算上一个月今天,如果上个月没有今天...引用自 https://yq.aliyun.com/ziliao/11301 我们一起分析下这段代码意思吧 1.获取上个月最后一天时间戳 $last_month_time = mktime(date("...【实为上个月最后一天】,date(j)获取传递进来 time为当前月第几天....如果上个月总天数 小于 当前月第几天, 直接返回上个月最后一天 当前20180301 那么上个月28小于31,直接同比上个月就是28 直接返回上个月相应第几天数据

    1.2K20

    关于Date对象那些事

    在JavaScript内置对象,有一个很Date对象,它专门用来获取设置日期。 当然自带方法也很多,这里不一一讲解列举,想回顾可以移步菜鸟教程:JavaScript Date 对象。...此处感兴趣是几个实用案例,比如网上盛行 转换指定日期格式、 获取当前日期前几天/后几天,等等。欢迎补充。 1....获取当前日期n天后 有时候,我们可能想要得到明天是几号?后天是几号?n天后就几号? 比如想要获取明天是日期: 粗略想法:我们可以通过getDate获取当前日期,然后通过+1操作。...设置日期上个月15号 如果是想设置当前月日期,比较简单,直接调用setDate()方法,参数写入要设置日期就可以了。但若是想设置上个月指定日期,我们就需要先让Date对象月份变成上个月。...// 注意,此处是因为在第3步骤,变量d月份已经变成了上个月,所以此处再设置15号,就变成了上个月15号 console.log(d); // Sat Dec 15 2018 15:38:31

    83610
    领券