mysql decs倒叙查询_mysql按照日期方式查询
查询显示时间,日期
SELECT t1,t2 FROM time_val;
SELECT dt FROM datetime_val;s
SELECT CURTIME(),CURTIME(2),CURTIME(6); (显示时间日期不同格式)
SELECT d,DATE_FORMAT(d,'%M %d,%Y') FROM date_val;
SELECT d,DATE_FORMAT(d,'%M,%d,%Y') AS date FROM date_val;
格式化字符 含义
%Y 年份,四位数字
%y 年份,两位数字
%M 完整月份(January,Decemeber)
%b 月份,头三个字母(Jan..Dec)
%m 月份两位数字(01..12)
%c 月份(1..12)
%d 月份中天数,两位数字(01.31)
%e 月份中的天数(1..31)
%W 星期名字(Sunday-Saturday)
%r 时间,12小时制,以AM或PM结尾
%T 时间,24小时制
%H 小时,两位数字(00-23)
%i 分钟,两位数字(00..59)
%s 秒,两位数字(00.59)
%% 字母"%"
SELECT dt,DATE_FORMAT(dt,'%c/%e/%y %r') AS format1,DATE_FORMAT(dt,'%M %e,%Y %T') AS format2 FROM datetime_val;
SELECT dt,TIME_FORMAT(dt,'%r') AS '12-hour time',TIME_FORMAT(dt,'%T') AS '24-hour time' FROM datetime_val;
获取当前日期或时间
SELECT CURDATE(),CURTIME(),NOW();
INSERT INTO tsdemo(val) VALUES(5);
INSERT INTO tsdemo(val,ts_both,ts_create,ts_update) VALUES(10,NULL,NULL,NULL);
SELECT * FROM tsdemo;
SELECT dt,DATE(dt),TIME(dt) FROM datetime_val;
SELECT dt,YEAR(dt),DAYOFMONTH(dt),HOUR(dt),SECOND(dt) FROM datetime_val;
SELECT d,DAYOFYEAR(d) FROM date_val;
SELECT d,DAYNAME(d),LEFT(DAYNAME(d),3) FROM date_val;
SELECT dt,DATE_FORMAT(dt,'%Y') AS year,DATE_FORMAT(dt,'%d') AS day,TIME_FORMAT(dt,'%H') AS hour,TIME_FORMAT(dt,'%s') AS second FROM datetime_val;
SELECT dt,DATE_FORMAT(dt,'%Y-%m-%d') AS 'date part',TIME_FORMAT(dt,'%T') AS 'time part' FROM datetime_val;
合成日期或时间值
SELECT MAKETIME(0,30,58),MAKETIME(-5,0,11);
SELECT d,DATE_FORMAT(d,'%Y-%m-01') FROM date_val;
SELECT t1,TIME_FORMAT(t1,'%H:%i:00') FROM time_val;
SELECT d,CONCAT(YEAR(d),'-',MONTH(d),'-01') FROM date_val;
SELECT d,CONCAT(YEAR(d),'-',LPAD(MONTH(d),2,'0'),'-01') FROM date_val;
时间值和基本单位之间转换
SELECT t1,TIME_TO_SEC(t1) AS 'TIME to seconds',SEC_TO_TIME(TIME_TO_SEC(t1)) AS 'TIME to seconds to TIME' FROM time_val;
SELECT t1,TIME_TO_SEC(t1) AS 'seconds',TIME_TO_SEC(t1)/60 AS 'minutes',TIME_TO_SEC(t1)/(6060) AS 'hours',TIME_TO_SEC(t1)/(2460*60) AS 'days' FROM time_val;
ELECT dt,TIME_TO_SEC(dt) AS 'time part in seconds',SEC_TO_TIME(TIME_TO_SEC(dt)) AS 'time part as TIME' FROM datetime_val;
SELECT d,TO_DAYS(d) AS 'DATE to days',FROM_DAYS(TO_DAYS(d)) AS 'DATE to days to DATE' FROM date_val;
SELECT dt,TO_DAYS(dt) 'date part in days',FROM_DAYS(TO_DAYS(dt)) AS 'date part as DATE' FROM datetime_val;
SELECT dt,UNIX_TIMESTAMP(dt) AS seconds,FROM_UNIXTIME(UNIX_TIMESTAMP(dt)) AS timestamp FROM datetime_val;
SELECT dt,UNIX_TIMESTAMP(dt) AS seconds,FROM_UNIXTIME(UNIX_TIMESTAMP(dt)) AS timestamp FROM datetime_val;
SELECT DATEDIFF(@d1,@d2)AS 'd1 - @d2',DATEDIFF(@d2,@d1) AS 'd2-d1';
SELECT TIMEDIFF(@t1,@t2) AS 't1-t2',TIMEDIFF(@t2,@t1) AS 't2-t1';
时间,日期加减运算
SET @t1 = '12:00:00',@t2='15:30:00';
SELECT ADDTIME(@t1,@t2);
SET @dt = '1984-03-01 12:00:00',@t = '12:00:00';
SELECT ADDTIME(@dt,@t);
SELECT CURDATE(),DATE_ADD(CURDATE(),INTERVAL 3 DAY);
SELECT CURDATE(),DATE_ADD(CURDATE(),INTERVAL 1 WEEK);
SELECT NOW(),DATE_ADD(NOW(),INTERVAL '3 4' DAY_HOUR);
SELECT @d AS date,FROM_DAYS(TO_DAYS(@d) +7) AS 'date + 1 week',FROM_DAYS(TO_DAYS(@d) - 7) AS 'date -1 week';
计算年龄
SELECT * FROM sibling;
SELECT name,birth,CURDATE() AS today,TIMESTAMPDIFF(YEAR,birth,CURDATE()) AS 'age in years',TIMESTAMPDIFF(MONTH,birth,CURDATE()) AS 'age in months' FROM sibling;
SELECT name,birth,'1953-03-05' AS 'Franz''birth',TIMESTAMPDIFF(YEAR,birth,'1953-03-05') AS 'age in years',TIMESTAMPDIFF(MONTH,birth,'1953-03-05') AS 'age in months' FROM sibling WHERE name <> 'Franz;
查询一个月第一天,最后一天或当月天数
SELECT d,DATE_SUB(d,INTERVAL DAYOFMONTH(d)-1 DAY ) AS '1st of month' FROM date_val;
SELECT d,LAST_DAY(d) AS 'last of month' FROM date_val;
SELECT d,LAST_DAY(DATE_ADD(d,INTERVAL -1 MONTH)) AS 'last of previous month',LAST_DAY(DATE_ADD(d,INTERVAL 1 MONTH)) AS 'last of following month' FROM date_val;
SELECT d,DAYOFMONTH(LAST_DAY(d)) AS 'days in month' FROM date_val;
通过子字符串替换来计算日期
SELECT d,DATE_FORMAT(d,'%y-%m-01') AS '1st of month A',CONCAT(YEAR(d),'-',LPAD(MONTH(d),2,'0'),'-01') AS '1st of month B' FROM date_val;
SELECT CURDATE(),DATE_ADD(DATE_FORMAT(CURDATE(),'%Y-12-25'),INTERVAL 2 YEAR) AS 'Christmas A',DATE_FORMAT(DATE_ADD(CURDATE(),INTERVAL 2 YEAR),'%Y-12-25') AS 'Christmas B';
计算星期
SELECT CURDATE(),DAYNAME(CURDATE());
SET @first = DATE_SUB(@d,INTERVAL DAYOFMONTH(@d)-1 DAY);
SELECT @d AS 'starting date',@first as '1st of month date',DAYNAME(@first) AS '1st of month day';
SELECT d,DAYNAME(d) AS day,DATE_ADD(d,INTERVAL 1-DAYOFWEEK(d) DAY) AS Sunday,DATE_ADD(d,INTERVAL 7 -DAYOFWEEK(d) DAY) AS Saturday FROM date_val;
SET @target= DATE_SUB(DATE_ADD(CURDATE(),INTERVAL 4-DAYOFWEEK(CURDATE()) DAY),INTERVAL 14 DAY);
SELECT CURDATE(),@target,DAYNAME(@target);
计算润年
SELECT d,YEAR(d) % 4 = 0 AS 'rule-of thumb test',(YEAR(d) %4 = 0) AND ((YEAR(d) % 100 <> 0) OR (YEAR(d) % 400 =0)) AS 'complete test' FROM date_val;
SET @d1 = '2014-04-13',@d2='2016-04-13';
SELECT DAYOFYEAR(DATE_FORMAT(@d1,'%Y-12-31')) AS 'days in 2014',DAYOFYEAR(DATE_FORMAT(@d2,'%Y-12-31')) AS 'days in 2016';
非ISO格式日期字符串
SELECT d,CONCAT(YEAR(d),'-',MONTH(d),'-01') FROM date_val;
SELECT CONCAT(YEAR(d),'-') AS 'non-ISO',DATE_ADD(CONCAT(YEAR(d),'-',MONTH(d),'-01'),INTERVAL 0 DAY) AS 'ISO 1',CONCAT(YEAR(d),'-',MONTH(d),'-01') + INTERVAL 0 DAY AS 'ISO 2',FROM_DAYS(TO_DAYS(CONCAT(YEAR(d),'-',MONTH(d),'-01'))) AS 'ISO 3',STR_TO_DATE(CONCAT(YEAR(d),'-',MONTH(d),'-01'),'%Y-%m-%d') AS 'ISO 4' FROM date_val;
基于时间特征查询
SELECT d FROM date_val WHERE d < '1990-01-01';
SELECT d FROM date_val WHERE d BETWEEN '1990-01-01' AND '1999-12-31';
SELECT d FROM date_val WHERE d >= DATE_SUB(CURDATE(),INTERVAL 20 YEAR);
mysql decs倒叙查询_mysql按照日期方式查询相关推荐
- oracle日期时间范围查询,Oracle的日期时间范围查询-Oracle
Oracle日期时间范围查询 Sql代码 /* 日期时间范围查询 */ ---- 创建日期时间测试表-------------------– www.2cto.com create table ...
- db2有MySQL那样的时间戳_MySQL 按照日期格式查询带有时间戳数据
按照日期格式查询带有时间戳数据一般在MSQL数据库中的时间都是以时间戳的格式来存储时间的,但是对于我们来说,时间戳格式具体表示的是什么时间,我们很难一眼看出来,所以当我们要具体查询某一个时间或时间段的 ...
- MySQL数据库应用 多表查询_mysql数据库-多表查询
今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建及多表的查询 掌握MYSQL中的表关系分析并能正确建表 昨天内容回顾: 数据库的创建 : create ...
- 怎么将mysql的时间转为星期_Mysql的日期转换成星期[某天对应周几]
|-- 应用中会有各种不同的需求,要灵活应对:比如拿到某一日期要知道是周几 |--DAYOFWEEK(date) [返回日期date的星期索引(1=星期天,2=星期一, --7=星期六).这些索引值对 ...
- mysql 新建子查询_Mysql创建SQL子查询ALIAS
通常这些被称为视图.例如: CREATE VIEW vMyLongQuery AS SELECT a, b, c FROM (LONG QUERY) X WHERE ... 然后可以像这样引用: SE ...
- mysql多线程查询_MySQL 利用多线程提升查询性能的一种思路
转载自:http://dinglin.iteye.com/blog/1432443 背景 报表统计类的查询是一类耗时的查询.使用场景是QPS并不大,单每个查询由于需要访问较多数据,对大量数据做处理,执 ...
- mysql表单查询_MySQL表单集合查询
表单查询 简单查询 SELECT语句 查询所有字段 指定所有字段:select 字段名1,字段名2,...from 表名; select * from 表名; 查询指定字段 select 字段名1,字 ...
- mysql时间字段不走索引_MySQL使用=或=范围查询时不走索引
2020-02-27 最近一个日志页面查询很慢,然后去跟踪了查询sql,发现日期字段上即使建了索引,查询还是很慢,执行语句还是使用了全表扫描,于是继续分析下去. 查询语句类似: select * fr ...
- mysql关联表分页查询_MySQL一对多分页查询-主表关联表条件查询问题
文章目录 1 摘要 2 情景复现 2.1 数据模型 2.2 核心代码 2.3 测试数据 2.4 拓展一点 1 摘要 分页查询是后台项目中最常见的一种操作,在一对多(one to many)的关系表中, ...
最新文章
- C++ primer——vector
- vue路由跳转权限_vue权限路由实现方式总结
- VC控件 Check Box
- 垃圾回收机制之复制算法
- python idle退出_【ZZ】windows+python2.7在IDLE中执行sys.exit()出现的问题及解决方案
- java中怎么使用json数据_JAVA中使用JSON进行数据传递
- Stream流方法引用
- CSS教程--CSS背景
- java ntlm_使用java UrlConnection使用ntlm(或kerberos)进行身份验证
- selenium-python:运行后报浏览器不兼容 disconnected: unable to connect to renderer
- pushd popd
- mac系统我的世界服务器,我的世界Mac版怎么联机?
- OJ 2530: 小勇玩lol
- SpringBoot html转pdf 支持中文、图片水印+文字水印、页眉页脚 flying-saucer-pdf-itext5 + freemarker
- [杂记]LeTeX模板——ppt
- AD怎么输入坐标_实名推荐|相见恨晚的CAD坐标提取技巧
- 没什么,国内做任何大项目,不外乎人情.技术是次要的
- node php聊天室,利用socket.io实现多人聊天室(基于Nodejs)
- RD会话主机服务器2012上没有可用的远程桌面许可证服务器
- 软件测试工程师如何优雅的“甩锅”
热门文章
- oracle 方言报错,ORACLE11g:No Dialect mapping for JDBC type: -9解决方案详解
- Anaconda:成功解决利用conda下载pytorch和torchvision时速度超慢的问题
- ML之FE:特征工程之数据处理常用案例总结(数值型数据处理、类别型数据处理)及其代码实现
- AI:2020年6月北京智源大会演讲视频回放集合——分享博主体会与总结
- 成功解决cv2.error: OpenCV(4.1.2) /io/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion fa
- Internet:从区块链的底层技术思考互联网是如何构成的
- 集成学习-Boosting集成学习算法AdaBoost
- Mybatis Plugin(拦截器)的开发
- docker学习------centos7.5下的swarm集群可视化构建
- Android USB Gadget复合设备驱动(打印机)测试方法