目录

源数据表

解决方案

WEEKDAY+DATESERIAL+FORMAT函数的使用


源数据表

母亲节是每年5月份的第二个星期日,每年的母亲节日期都不一样。通过SQL获取今年母亲节的日期。

解决方案

SELECT FORMAT(DATESERIAL(YEAR(NOW()),5,15)-WEEKDAY(YEAR(NOW()) & '-5-15',2),'YYYY-M-D') AS 母亲节

WEEKDAY+DATESERIAL+FORMAT函数的使用

本例的实现是利用DATESERIAL函数来构造一个中间日期,然后充分利用了日期的一些规律。DATESERIAL语法如下:

DATESERIAL(年,月,日)

首先利用YEAR函数获取今年的年份,然后通过DATESERIAL函数将年、月、日组合直接构造一个日期。
    两种极端情况是5月1日为星期一和5月1日为星期日。母亲节为5月的第二个周日,则5月15日内必定包含第二个周日。要得到母亲节的日期,也就是第二个星期日,只要在5月15日的基础上减去5月15日所在星期的天数即可。  这个天数可以利用WEEKDAY函数得到,这里将星期一作为第一天,公式如下:

WEEKDAY(DATESERIAL(YEAR(NOW()),5,15),2)

可以对上述公式进一步简化,利用字符的简单连接获得指定的日期。例如,将DATESERIAL(YEAR(NOW()),5,15)简化为YEAR(NOW())&’-5-15’。
    相减得到的结果仅仅是一个数字,所以还需要用FORMAT函数格式化日期为指定格式,
    在SQL中,可以用DATESERIAL函数构造日期,也可以利用字符串的连接来构造日期形式的字符串。后者得到的结果在实际运用中会自动转换为日期进行计算,因而,在许多情况下
可以作为日期来使用。但是后者不支持加减乘除的四则运算,而DATESERIAL函数支持四则运算。所以,在实际使用的过程中要特别注意。
    当对日期进行四则运算后,得到的结果就自动转换为数字。如果仍然要得到日期的结果.必须使用函数进行转换。

Excel 2010 SQL应用072 SQL获取母亲节的日期相关推荐

  1. server sql 时间差分钟_SqlServer获取两个日期时间差

    SELECT datediff(yy,'2010-06-1 10:10',GETDATE()) --计算多少年 SELECT datediff(q,'2011-01-1 10:10',GETDATE( ...

  2. SQL:两种获取时间类型日期部分的方法

    参考网址:http://www.w3school.com.cn/sql/sql_dates.asp. 1 CONVERT(char(10), PassedDate, 120), 2 DATEADD(d ...

  3. Excel 2010 VBA 入门 072 工作表事件之activate

    目录 示例 实现代码1 工作表(Worksheet)对象的Select方法 实现代码2 附件:显示所有工作表 目录工作表中加入事件 其它工作表中加入事件 实现代码3 工作簿事件 类模块和Me变量 示例 ...

  4. 套用带标题行的表格样式_excel表格样式采用内置样式 使用Excel 2010内置的单元格样式制作精美的表格效果...

    excel表格样式采用内置样式 使用Excel 2010内置的单元格样式制作精美的表格效果,最近到了季度汇报的时候,掌握一手excel技能在此刻显得多么重要,为了是你的excel看起来更高大上,今天教 ...

  5. sql 日期和当前日期时间差_如何通过excel获取当前的日期和时间

    在用excel处理数据时,通过要获取当前的日期和时间,今天我们就来学习一下如何获取当前的日期和时间. 获取当前日期在B2单元格输入公式:=TODAY() 设置B2单元格里日期的显示格式,看下图 根据需 ...

  6. python读取excel指定列-Python读取excel指定列生成指定sql脚本的方法

    需求 最近公司干活,收到一个需求,说是让手动将数据库查出来的信息复制粘贴到excel中,在用excel中写好的公式将指定的两列数据用update这样的语句替换掉. 例如: 有个A库,其中有两个A.01 ...

  7. 学习SQL:将SQL Server导出到Excel

    In the previous article, Learn SQL: SQL Server Pivot Tables, we've discussed how to create a report ...

  8. 数据库 SQL 时间处理函数 获取指定或最近期时间范围内 日期 月份 年份 列表

    1.Oracle  Oracle sql 获取 时间 https://blog.csdn.net/rexueqingchun/article/details/83412131 原 Oracle查询今天 ...

  9. excel如何生成mysql的sql语句_excel 批量生成SQL语句

    文章来源:https://www.cnblogs.com/allen0118/p/3726455.html 我们经常会遇到这样的要求:用户给发过来一些数据,要我们直接给存放到数据库里面,有的是Inse ...

最新文章

  1. android多线程下载图片
  2. C++用顶层函数重载操作符(三)用友元优化
  3. java 统计数字个数_统计数字问题(Java)
  4. kallsyms 压缩_initrd.img、System.map学习札记
  5. quidway secpath下搭建DHCP服务器01
  6. HTML5本地存储详解
  7. itchat——使用python登录网页版微信
  8. 破解某设计网站充钱下载图片
  9. Antd 表格样式修改
  10. 13.CUDA编程手册中文版---附录I C++ 语言支持
  11. 普通计算机电缆,计算机电缆和普通电缆有什么区别吗?
  12. Python_爬虫_猫眼电影网电影预告片批量下载
  13. 怎么用okhttp获得响应头数据
  14. java 阈值 告警_处理Java异常告警最佳实践
  15. 烧录flash_烧录固件完成后,配置JFLASH让程序自动运行
  16. seq和ack的理解
  17. html + js 实现电子时间
  18. OpenWRT使用iptables设置只允许MAC地址对应设备访问局域网
  19. 【玩转python】python实现代替QQ邮箱发出邮件(附源码,新手也能用!)
  20. 百度在40所高校办了AI俱乐部,俱乐部还百度一堆黑科技

热门文章

  1. 三种近场通信的特点及未来分析与预测
  2. 添加数据文件及修改数据文件的位置
  3. 【VSCode注释插件:koroFileHeader】
  4. codeforces 891C
  5. 云计算变革中, 国产中间件还有没有市场?能否雄起?
  6. sqlserver配置管理器不显示服务器,sql 2008配置管理器的服务器无法启动(待)
  7. 好文章无人识?这些小技巧帮你拥有破万浏览量!
  8. CV战士的自我修养1—框选
  9. 微信小程序的wxs用法
  10. 微信小程序wxs语法