sql的时间格式
sql中的时间格式转换主要有:date_format函数,str_to_date函数
1. 首先选择一个数据库
use db_name;
2. 显示当前时区的时间:
SELECT NOW();
3. 按照格式显示,使用 date_format 函数:
select date_format(NOW(),'%W-%Y-%m-%d') as column_name;
select date_format(NOW(),'%W-%Y-%m-%d') column_name;

4. 格式化代码
%a |
Short weekday name in current locale (Variable lc_time_names). |
%b |
Short form month name in current locale. For locale en_US this is one of: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov or Dec. |
%c |
Month with 1 or 2 digits. |
%D |
Day with English suffix 'th', 'nd', 'st' or 'rd''. (1st, 2nd, 3rd...). |
%d |
Day with 2 digits. |
%e |
Day with 1 or 2 digits. |
%f |
Sub seconds 6 digits. |
%H |
Hour with 2 digits between 00-23. |
%h |
Hour with 2 digits between 01-12. |
%I |
Hour with 2 digits between 01-12. |
%i |
Minute with 2 digits. |
%j |
Day of the year (001-366) |
%k |
Hour with 1 digits between 0-23. |
%l |
Hour with 1 digits between 1-12. |
%M |
Full month name in current locale (Variable lc_time_names). |
%m |
Month with 2 digits. |
%p |
AM/PM according to current locale (Variable lc_time_names). |
%r |
Time in 12 hour format, followed by AM/PM. Short for '%I:%i:%S %p'. |
%S |
Seconds with 2 digits. |
%s |
Seconds with 2 digits. |
%T |
Time in 24 hour format. Short for '%H:%i:%S'. |
%U |
Week number (00-53), when first day of the week is Sunday. |
%u |
Week number (00-53), when first day of the week is Monday. |
%V |
Week number (01-53), when first day of the week is Sunday. Used with %X. |
%v |
Week number (01-53), when first day of the week is Monday. Used with %x. |
%W |
Full weekday name in current locale (Variable lc_time_names). |
%w |
Day of the week. 0 = Sunday, 6 = Saturday. |
%X |
Year with 4 digits when first day of the week is Sunday. Used with %V. |
%x |
Year with 4 digits when first day of the week is Monday. Used with %v. |
%Y |
Year with 4 digits. |
%y |
Year with 2 digits. |
%# |
For str_to_date(), skip all numbers. |
%. |
For str_to_date(), skip all punctation characters. |
%@ |
For str_to_date(), skip all alpha characters. |
%% |
A literal % character. |
5. 显示当前区域编码,因为时间与当地时间(区域有关)
SELECT @@lc_time_names loc_name; #loc_name为显示的列名
SET lc_time_names = 'zh_CN'; #设置区域编码
6. 先显示表格 felix_test

CREATE TABLE IF NOT EXISTS felix_test(
id INT UNSIGNED AUTO_INCREMENT,
author VARCHAR(40) NOT NULL,
submission_date DATE,
submission_time DATETIME,
PRIMARY KEY(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
7. 获取从0年(0000-00-00)开始的天数 —— to_days(),常用于获取昨天、前几天、一周内、一月内等的数据
select TO_DAYS(submission_time) from felix_test;
select TO_DAYS(submission_date) from felix_test;
以下四种形式的数据得到的to_days结果一致
select TO_DAYS(20200325);
select TO_DAYS(200325);
select TO_DAYS('2020-03-25')
select TO_DAYS('20-03-25')
求刚好是一周前的数据和大于一周的数据:
select * from felix_test where (TO_DAYS(now())-TO_DAYS(submission_time))=7;
select * from felix_test where (TO_DAYS(now())-TO_DAYS(submission_time))>7;
8. 相应的,获取从0年开始的秒数 —— to_seconds()
select TO_SECONDS(submission_time) from felix_test;
select TO_SECONDS(submission_date) from felix_test;
9. 分别获取时间的年、月、日、时、分、秒 —— year(),month(),day(),hour(),minute(),second()
select year(submission_time) from felix_test;
select month(submission_time) from felix_test;
select day(submission_time) from felix_test;
select hour(submission_time) from felix_test;
select minute(submission_time) from felix_test;
select second(submission_time) from felix_test;
10. 日期转时间戳 —— hive与mysql的 unix_timestamp 使用一致
select unix_timestamp(submission_time) from felix_test; #日期时间转时间戳,此函数hive与此一致
11. 时间戳转日期(mysql)
select from_unixtime(1572316836 ,'%Y/%m/%d %H:%i:%s'); #时间戳转日期
select from_unixtime(1572316836,'%Y/%m/%d %H:%i:%s') from felix_test; #时间戳转日期,其中的时间戳可以换成值为时间戳的列名
12. 时间戳转日期(hive)
select from_unixtime(cast(1572316836 as bigint),'yyyy/MM/dd HH:mm:ss')
select from_unixtime(cast(createtime/1000 as bigint),'yyyy/MM/dd HH:mm:ss') from db_name.tb_name limit 10
# create/1000 表示时间戳此时单位是毫秒,如果是秒,就不用了除以1000
参考:
https://www.cnblogs.com/wjm956/p/7297942.html
https://blog.csdn.net/shenliang1985/article/details/90142010
sql的时间格式的更多相关文章
- Sql日期时间格式转换;取年 月 日,函数:DateName()、DATEPART()
一.sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007 ...
- sql 日期时间格式转换
Sql日期时间格式转换 sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, ...
- sql server 时间格式转换
sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-0 ...
- Sql server 时间格式转化
--.SQL时间格式转化 --日期转换参数 ) --2009-03-15 15:10:02 ),'-',''),' ',''),':','') ) , ) --2009/03/15 ) , ) ) , ...
- (转)Sql日期时间格式转换
sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-0 ...
- Sql日期时间格式转换
sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-0 ...
- Sql日期时间格式转换(转)
原文出自:http://www.cnblogs.com/Gavinzhao/archive/2009/11/10/1599690.html sql server2000中使用convert来取得dat ...
- Sql Server 时间格式
问题引出: Sql Server 里 dateTime 数据类型,会精确到毫秒.如果我们 在插入一条数据的时候,使用 GetDate() 记录 这个记录插入的时间,则会插入当前时间,精确到毫秒.在查询 ...
- Sql日期时间格式转换 备用
sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-0 ...
随机推荐
- CSS3 column 分栏
column的布局形式还没有使用过,后续的bug和解决方案有待检验. column column-count:number: 设置内容分为多少栏显示 column-width:长度单位:设置每一栏的 ...
- 三、部署DNS
通常情况下配置好域后,DNS会默认安装好,但有时候这个DNS只能解析域控的域名,不能解析其他域名,比如baidu.com之类的.此时需要配置转发器,把不能解析的域名转到其他DNS配置如下: 打开DNS ...
- R镜像源的切换
如果是默认的R安装一般会很慢 install.packages(pkgs, lib, repos = getOption("repos"), contriburl = contri ...
- qt model--view-delegate模式的界面设计概念,ListView用法
最经典的界面设计模式,必须知道. 作为 一种经典到 不能 再 经典 的 架构 模式, qt的model--view-delegate大 行其 道 有其 必然 的 道理. 通过 把 职责. 性质相近的 ...
- [转帖]一文尽懂 USB4
一文尽懂 USB4 https://www.ithome.com/0/451/062.htm 今年 3 月份,USB Promoter Group(领导小组)首次发布了 USB4 规范,即下一代 US ...
- PHP get和post向服务器发送请求
1 .get请求 <?php //请求url地址 $token="xxx"; $url = "请求的地址"; //初始化curl $ch = curl_i ...
- firefox 获取xpath
在做一个爬虫是,输入内容后,会自动显示内容,而且只能选择,不能根据输入的提交,一点就失去焦点,找不到相关内容 后来发现firefox的查看元素的最左边的类似于鼠标尖头的按钮,就是确保这种情况下,去查找 ...
- Scala 类型参数
介绍 类型参数是什么?类型参数其实就类似于Java中的泛型.先说说Java中的泛型是什么,比如我们有List a = new ArrayList(),接着a.add(1),没问题,a.add(&quo ...
- 解决SVN蓝色问号的问题
桌面或文件夹右键,选择TortoiseSVN->Settings打开设置对话框,选择Icon Overlays->Overlay Handlers->取消钩选Unversioned. ...
- c#使用GDI进行简单的绘图
https://www.2cto.com/database/201805/749421.html https://zhidao.baidu.com/question/107832895.html pr ...