月初,计算给定日期所在月的第一天,月末,计算给定日期所在月的最后一天

月初,计算给定日期所在月的第一天

--这个计算的技巧是先计算当前日期到"1900-01-01"的时间间隔数,然后把它加到"1900-01-01"上来获得特殊的日期,这个技巧可以用---来计算很多不同的日期。

declare @date datetime

set @date=getdate()

select dateadd(month,datediff(month,'1900-01-01',@date),'1900-01-01') as '所在月的第一天'

--精简算法,根据sql server的时间表示方式可知,'1900-01-01' 可以用0代替

select dateadd(month,datediff(month,0,@date),0) as '所在月的第一天'

--上面两种算法精确到天 时分秒均为00:00:00.000

--下面算法课以保留时分秒

--思路:用给定日期减去月第一天与给定日期差的天数

select dateadd(day,1-datepart(day,@date),@date)

go

--月末,计算给定日期所在月的最后一天

declare @date datetime

set @date=getdate()

--思路:当前月的下一月1号在减1天

select dateadd(day,-1,dateadd(month,1+datediff(month,'1900-01-01',@date),'1900-01-01')) as '所在月的最一天'

select dateadd(month,1+datediff(month,'1900-01-01',@date),'1900-01-01')-1 as '所在月的最一天'

--1900-01-01 用0代替

select dateadd(day,-1,dateadd(month,1+datediff(month,0,@date),0)) as '所在月的最一天'

select dateadd(month,1+datediff(month,0,@date),0)-1 as '所在月的最一天'

--思路:与月初计算思路相同

select dateadd(month,datediff(month,'1989-12-31',@date),'1989-12-31') as '所在月的最一天'

--精简算法,'1989-12-31' 用-1代替

select dateadd(month,datediff(month,-1,@date),-1) as '所在月的最一天'

--保留时分秒的算法

select dateadd(day,-1,dateadd(month,1,dateadd(day,1-datepart(day,@date),@date)))

go

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql 月初 月末_月初 月末 sql 语句(日期所在月的第一天,最后一天)相关推荐

  1. MySQL查询本年的数据的sql语句

    MySQL查询本年的数据的sql语句: SELECT * FROM 表名 WHERE YEAR(时间字段)=YEAR(NOW());

  2. 解析MySQL基础架构及一条SQL语句的执行流程和流转

    前言 本篇文章分析SQL语句在MySQL中的执行流程,包括SQL的查询在MySQL内部会怎么流转,SQL语句的更新是怎么完成的.在分析之前我们一起看看MySQL的基础架构,知道了 MySQL由那些组件 ...

  3. Mysql中文乱码以及导出为sql语句和Excel问题解决

    Mysql中文乱码以及导出为sql语句和Excel问题解决 参考文章: (1)Mysql中文乱码以及导出为sql语句和Excel问题解决 (2)https://www.cnblogs.com/zhao ...

  4. mysql select 所有表_怎样用SQL语句查询一个数据库中的所有表

    展开全部 查询32313133353236313431303231363533e59b9ee7ad9431333431356639一个数据库中的所有表sql语句是show tables: 显示所有数据 ...

  5. 十五个实用的mysql语句分享_分享MySQL中实用的几种SQL语句

    在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑.减少程序与数据库的交互次数,有利于数据库高可用性,同时也能显得你的SQL很牛B,让同事们眼前一亮. 实用的SQL 1.插入或替 ...

  6. mysql执行效率低_如何查询mysql中执行效率低的sql语句

    展开全部 一.MySQL数据库有几个配置选项可以32313133353236313431303231363533e59b9ee7ad9431333337373563帮助我们及时捕获低效SQL语句 1, ...

  7. 用来测试的mysql建表语句_软件测试基础——MySQL建库、建表SQL语句

    一.对库的操作 创建库:create database 库名 ; 创建指定字符集的库:create database 库名 charset=utf8; 创建指定字符集并带校验规则的库:create d ...

  8. mysql中的级联删除的语句_级联删除sql语句-数据库级联删除语句-sql删除语句

    SQl语句的级联删除问题 删除应该有顺序 1,删除link表 delete from ref,link where ref.link_code=link.link_code and link_id=? ...

  9. mysql经典sql语句大全_常用经典SQL语句大全完整版--详解+实例 (存)

    下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE, ...

  10. mysql 删除一个字段语句怎么写_删除的sql语句怎么写

    1. 删除一个表的sql 语句怎么写啊 使用drop语句,drop table (需要删除表的名字). drop是删除整个表,delete是删除表的内容. drop语句的作用:删除内容和定义,释放空间 ...

最新文章

  1. 吴恩达老师深度学习视频课笔记:多隐含层神经网络公式推导(二分类)
  2. 文件系统:Linux文件系统剖析
  3. c mysql显示多条数据_用一条mysql语句插入多条数据
  4. PDD 笔试反思记录
  5. 像阿超那样,花20分钟写一个能自动生成小心四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算。 和同学们比较一下各自程序的功能,实现方法的异同,等等...
  6. bmp文件格式_一次性解决CAD转换成BMP格式图片的问题
  7. com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED
  8. pip install -q git+https://github.com/tensorflow/docs.git报错
  9. c++删除文件delete_关于macos删除快捷键,你知道这些区别用法吗?
  10. 非标准的CAN波特率计算
  11. 高通SDX12:sar sensor AW9610x驱动移植
  12. matlab算kdj指标,通达信带注释的KDJ指标公式
  13. ★追风的牛★添翼圈Moto Droid玩家手册(感谢原作者,只是做个备份而已,如果牵扯到越劝,我会立即删掉)
  14. c语言窗口画图,C语言实现画图程序
  15. 这个充电宝不仅支持无线充,关键还小
  16. MySQL视图简单操作
  17. 8、数值分析与matlab
  18. 造纸行业仍处于“去库存”阶段
  19. iceberg+Spark3.0-sql测试
  20. 还在找骆驼(羊驼)专用PBMC分离试剂盒吗?

热门文章

  1. 波浪动力滑翔机的综述
  2. ubuntu查询显卡型号
  3. SpringBoot2——web开发(组件使用)
  4. 不用深厚的数学功底也不用深厚的金融知识,用python也能炒股?
  5. python代码情话_程序员的土味情话~(内含表白代码)
  6. 计算机考研复习资料推荐(转载)
  7. 变形金刚2影院版完整字幕
  8. workbench与SolidWorks联合划分六面体网格
  9. 使用PRSice进行多基因风险评分分析
  10. 【Pandas学习笔记Task05】:变形