java format用法_java学习常用函数之日期时间函数

日期时间函数

a56e8315c888aeb71df087261f13a33c.png
  • DATE_FORMAT(datetime ,fmt)和STR_TO_DATE(str, fmt)所需的日期模板

bed7792312cac247f06f78deda0b2dff.png
  1. 使用NOW(),SYSDATE(),CURDATE(),CURTIME()获取当前时间
SELECT CURTIME(),CURDATE(),NOW(),SYSDATE();
  1. DATEDIFF(date1,date2) 返回两个日期之间相差的天数
SELECT DATEDIFF(CURDATE(),’2019-3-1′); — 计算当前日期和2019-3-1之间相差的天数

案例: 计算员工表中服务年限大于35年的员工信息,并且按照年薪升序排列

SELECT EMPNO,ENAME,JOB,HIREDATE, ROUND(DATEDIFF(SYSDATE(),HIREDATE)/365) “服务年限”FROM EMPWHERE ROUND(DATEDIFF(SYSDATE(),HIREDATE)/365) > 35ORDER BY 服务年限;
SELECT EMPNO,ENAME,JOB,HIREDATE, ROUND(DATEDIFF(SYSDATE(),HIREDATE)/365) “服务年限”FROM EMPWHERE ROUND(DATEDIFF(SYSDATE(),HIREDATE)/365) > 35ORDER BY 服务年限;
SELECT EMPNO,ENAME,JOB,HIREDATE, ROUND(DATEDIFF(SYSDATE(),HIREDATE)/365) “服务年限”FROM EMPWHERE ROUND(DATEDIFF(SYSDATE(),HIREDATE)/365) > 35ORDER BY 服务年限;
SELECT EMPNO,ENAME,JOB,HIREDATE, ROUND(DATEDIFF(SYSDATE(),HIREDATE)/365) “服务年限”FROM EMPWHERE ROUND(DATEDIFF(SYSDATE(),HIREDATE)/365) > 35ORDER BY 服务年限;

注意:在WHERE子句中无法使用字段别名。这是因为MySql执行语句的顺序决定的

上面语句执行的顺序是:(1)FROM (2)WHERE (3)SELECT (4)ORDER BY 。中间的每一步都会生成一张虚拟表,后面的步骤都是在上一张虚拟表中进行筛选与查询的。在执行WHERE子句的时候还没有字段的别名。但是在执行ORDER BY的时候,字段的别名已经存在了。

我们可以使用如下的方式进行解决(后面我们会详细讲解这种用法)

SELECT TEMP.*FROM ( SELECT EMPNO,ENAME,JOB,HIREDATE, ROUND(DATEDIFF(SYSDATE(),HIREDATE)/365) “服务年限” FROM EMP) TEMPWHERE TEMP.服务年限 > 35;
SELECT TEMP.*FROM ( SELECT EMPNO,ENAME,JOB,HIREDATE, ROUND(DATEDIFF(SYSDATE(),HIREDATE)/365) “服务年限” FROM EMP) TEMPWHERE TEMP.服务年限 > 35;
SELECT TEMP.*FROM ( SELECT EMPNO,ENAME,JOB,HIREDATE, ROUND(DATEDIFF(SYSDATE(),HIREDATE)/365) “服务年限” FROM EMP) TEMPWHERE TEMP.服务年限 > 35;
SELECT TEMP.*FROM ( SELECT EMPNO,ENAME,JOB,HIREDATE, ROUND(DATEDIFF(SYSDATE(),HIREDATE)/365) “服务年限” FROM EMP) TEMPWHERE TEMP.服务年限 > 35;
  1. DATE_ADD(datetime, INTERVALE expr type), 返回与给定日期时间相差INTERVAL时间段的日期时间

案例: 查询EMP表中员工的转正日期

aft-type="table" data-size="normal" data-row-style="normal">
SELECT EMPNO,ENAME,JOB,HIREDATE 入职日期, DATE_ADD(HIREDATE, INTERVAL 3 MONTH) 转正日期FROM EMP;
SELECT EMPNO,ENAME,JOB,HIREDATE 入职日期, DATE_ADD(HIREDATE, INTERVAL 3 MONTH) 转正日期FROM EMP;
  1. STR_TO_DATE(str, fmt) 把一个字符串按照日期模板解析为DATE类型。注意:表示日期的字符串的字符串的格式必须要和模板的格式一致,转换才能成功
SELECT * FROM EMPWHERE HIREDATE = STR_TO_DATE(‘1980-12-17′,’%Y-%m-%d’); SELECT * FROM EMPWHERE HIREDATE = STR_TO_DATE(‘1981/20/2′,’%Y/%d/%m’);

-node="block" data-draft-type="table" data-size="normal" data-row-style="normal">
SELECT * FROM EMPWHERE HIREDATE = STR_TO_DATE(‘1980-12-17′,’%Y-%m-%d’); SELECT * FROM EMPWHERE HIREDATE = STR_TO_DATE(‘1981/20/2′,’%Y/%d/%m’);
SELECT * FROM EMPWHERE HIREDATE = STR_TO_DATE(‘1980-12-17′,’%Y-%m-%d’); SELECT * FROM EMPWHERE HIREDATE = STR_TO_DATE(‘1981/20/2′,’%Y/%d/%m’);
SELECT * FROM EMPWHERE HIREDATE = STR_TO_DATE(‘1980-12-17′,’%Y-%m-%d’); SELECT * FROM EMPWHERE HIREDATE = STR_TO_DATE(‘1981/20/2′,’%Y/%d/%m’);

-node="block" data-draft-type="table" data-size="normal" data-row-style="normal">
SELECT * FROM EMPWHERE HIREDATE = STR_TO_DATE(‘1980-12-17′,’%Y-%m-%d’); SELECT * FROM EMPWHERE HIREDATE = STR_TO_DATE(‘1981/20/2′,’%Y/%d/%m’);
  1. DATE_FORMAT(datetime ,fmt) 把一个日期类型的数据格式化为特定格式的字符串

案例: 查询员工的信息,把员工的入职日期显示为”日-月-年”格式

draft-type="table" data-size="normal" data-row-style="normal">
SELECT EMPNO,ENAME,HIREDATE ‘标准日期’, DATE_FORMAT(HIREDATE,’%d-%m-%Y’) “日期1″FROM EMP ;
SELECT EMPNO,ENAME,HIREDATE ‘标准日期’, DATE_FORMAT(HIREDATE,’%d-%m-%Y’) “日期1″FROM EMP ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489168.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NeurIPS 2019公布获奖论文!新增杰出新方向奖项,微软华裔研究员斩获经典论文...

来源:大数据文摘备受瞩目的NeurlPS 2019周日一早在温哥华拉开序幕,今天,组委会通过一篇博客公布了包括杰出论文奖、杰出新方向论文奖等五大类奖项。NeurIPS,全称神经信息处理系统大会(Conference and Workshop on Neural Informat…

Adobe Acrobat DC

DC: document cloud 【云服务】 但是Adobe document cloud包括: Acrobat DC, Adobe sign, 以及Web和移动应用程序。 参考: https://acrobat.adobe.com/cn/zh-Hans/acrobat.html https://helpx.adobe.com/cn/document-cloud/faq.html http://tech.163.co…

mongodb和mysql的对比_MongoDB和MySQL的区别

http://www.cnblogs.com/caihuafeng/p/5494336.htmlMongoDB(文档型数据库):提供可扩展的高性能数据存储一、1、基于分布式文件存储2、高负载情况下添加更多节点,可以保证服务器性能3、将数据存储为一个文档二、比较1、稳定性2、索引,索引放在…

万字长文深度分析华为智能汽车战略

来源: 中信证券2019 年 4 月,华为首次以汽车 Tier1 的身份参加上海车展。2019 年 11 月,北汽新能源总经理郑刚加盟华为。2019 年 11 月,华为发布核心网自动驾驶白皮书。本文为中信证券团队的分析报告,全文超过 15000 字…

Mac下关闭Sublime Text 3的更新检查

操作如下: 注意:update_check的属性前后都要有一个逗号。 ,"update_check":false, 然后还需要一步,就是注册破解,在【Help】->【Enter License】 —– BEGIN LICENSE —– Michael Barnes Single User License EA7E-…

javascript小游戏_个人网站集成js小游戏《圈小猫》教程及源码

今天在某网站浏览帖子的时候,发现帖子被删除了,然后弹出了404页面,页面上集成了一个小游戏,小游戏长什么样子呢?看下面这个图!第一步查看小游戏源码,发现这个小游戏完全是由JavaScript编写的&am…

阿里云数据库mysql 创建数据库服务器_如何使用mysql创建数据库服务器

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":6,"count":6}]},"card":[{"des":"云服务器 ECS(Elastic Compute Service)是一…

国家脑库:神经科学研究的基础设施

来源:科技日报这是一个医用冷藏柜,双门,内有搁架。架子上叠着一个个透明的盒子,放得有些拥挤。盒子外侧写着编号,再仔细看,泡在福尔马林溶液里的,就是你在电视上、在科普片里看过很多次的——人…

多商户商城源码_多商户小程序开发搭建?开达应用多商户入驻商城小程序制作教程...

多商户小程序如何搭建?多商户入驻商城小程序快读搭建教程多商户设置前言:多商户是配合商城主应用才能使用基础设置支持选择提现方式,多商户的用户在申请提现时使用客服图标(开启)商户距离排序(开启)商品上架审核(开启)(在多商户-->商品管理…

mysql8导出文件_windows下 Mysql 8.0.x 数据库简单的导出和导入!!!

1.首先需要进入到mysql安装目录下的bin目录,执行cmd进入命令窗口。2.导出(导出某个数据库,也可以针对某张表导出)2.1导出数据结构以及数据的命令:mysqldump -u root -p dbName > 想要导出的目录例如:mysqldump -u root -p bigd…

mysql数据库中的校对集

校对集就是数据比较的方式,共有三种格式: _bin:binary, 二进制比较, 区分大小写; _cs: case sensitive, 大小写敏感; _ci: case insensitice, 大小写不敏感; 查看数据库支持的所有校对集: show collation; 注意:校…

中国北斗全球系统核心星座将于2019年年底部署完成

来源:IT之家在联合国全球卫星导航系统国际委员会(ICG)第十四届大会举办期间,中国卫星导航系统管理办公室宣布,今年底北斗三号将完成所有中圆地球轨道卫星发射任务,北斗全球系统核心星座部署完成,明年北斗全球系统将全面…

ns3 统计一个包所经历的时延_【直击UDE2020】显示链接的智慧生活,你我正在经历...

远古先民中“崇拜”眼睛的不在少数,比如,三星堆出土的青铜文物通常都有着大大的眼睛。先民对于眼睛的“崇拜”表达着实现视距更遥远、视野更广阔、画面更清晰的愿望。毕竟,人类通过味觉、触觉、嗅觉、听觉、视觉等五种器官感知世界&#xff0…

成长与迁移,全球半导体格局演变

来源:世纪证券根据核心驱动力不同, 半导体的发展可以分三个阶段, PC 与互联网时代—移动互联网时代—5GAIoT 时代。 随时代的发展,半导体呈现出“两个持续”的发展特点,即分工持续细化,产业链持续转移。从传…

[EFI]Gigabyte-Z790-Aorus-Elite-AX-13700K电脑 Hackintosh 黑苹果efi引导文件

硬件型号驱动情况主板 Gigabyte Z790 Aorus Elite ax DDR5 处理器I7 13700K已驱动内存8GB DDR3 (or something like that)已驱动硬盘WDC PC SN730 SDBQNTY-256G-1001已驱动显卡Gigabyte RX6600 EAGLE 8G已驱动声卡Realtek ALC285已驱动网卡 LucyRTL8125Ethernet 已驱动无线网卡…

[vagrant]vagrant centos静态ip设置

vagrant 中使用的是public_network,而工作网络中,由于桥接了很多路由器,导致ip段位和本机的ip段位不在同一个局域网中 ifconfig之后的结果 [rootlocalhost network-scripts]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:5A:FB…

mysql int tinyint_MySQL中int(M)和tinyint(M)数值类型中M值的意义

首先,我们创建一个数据表test:mysql> CREATE TABLE test(-> id1 int(1),-> id2 tinyint(1)->);我们给id1定义为int,并设置字符长度为1,id2定义为tinyint,也设置字符长度为1;然后分别插入值127,…

密码学重大里程碑!科学家暴力破解迄今最长RSA密钥,功劳却不在摩尔定律

来源:arstechnica密码学达到一个新的里程碑:研究人员解开了有史以来人类计算过的最长的RSA密钥,并对有史以来最大的整数离散对数进行了匹配计算。而且这次的突破不是来自硬件性能的提升,而要归功于软件和算法的改进。不过请放心&a…

mysql 树排序_mysql按树深度排序

我有表pe与列id,名称和lcltyid我有表wp_exrz_locality_localities与id,name和parentlocality表是树,父级包含另一个位置行的id . pe.lcltyid是关键字wp_exrz_locality_localities.id基本上我想做的是检索按“树深度”排序的所有pe条目然而&am…

js动态显示时间

<!DOCTYPE HTML> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"> <title>定时器</title> <script type"text/javascript">var attime;function clock(){var timen…