mysql时间函数
来源:互联网 发布:网络舆情内参征订 编辑:程序博客网 时间:2024/04/28 09:38
(1)日期类型
1.datetime与timestamp
1)datetime的日期范围比较大,timestamp容器出现超出的情况
2)timestamp在默认情况下,在insert\update数据时,timestamp列会自动以当前时间填充
建表代码如下:
create table t8 ( `id1` timestamp NOT NULL default CURRENT_TIMESTAMP, `id2` datetime default NULL);推荐使用datetime
2.time类型的范围为什么可以有负数
为了方便日期相减
(2)当前日期函数
mysql> select now();+---------------------+ | now() | +---------------------+ | 2008-08-08 22:20:46 | +---------------------+
2.获取当前日期:curdate()
mysql> select curdate();+------------+ | curdate() | +------------+ | 2008-08-08 | +------------+3.获取当前时间:curtime()
mysql> select curtime();+-----------+ | curtime() | +-----------+ | 22:41:30 | +-----------+4.获取当前UTC时间:utc_timestamp()
mysql> select utc_timestamp(), utc_date(), utc_time(), now()+---------------------+------------+------------+---------------------+ | utc_timestamp() | utc_date() | utc_time() | now() | +---------------------+------------+------------+---------------------+ | 2008-08-08 14:47:11 | 2008-08-08 | 14:47:11 | 2008-08-08 22:47:11 | +---------------------+------------+------------+---------------------+因为我国位于东八区,所以时间就是utc事件+8小时
(3)timestamp函数(时间+或-或转换)
1.date类型向timestamp转换
timestamp(date) //date to timestamp
2.时间相加
1)根据表达式
select timestamp('2008-08-08 08:00:00', '01:01:01'); -- 2008-08-08 09:01:01 select timestamp('2008-08-08 08:00:00', '10 01:01:01'); -- 2008-08-18 09:01:012)根据timestampadd()
timestampadd(unit,interval,datetime_expr)eg
select timestampadd(day, 1, '2008-08-08 08:00:00'); -- 2008-08-09 08:00:00
3.时间相减
根据时间单位决定结果
select timestampdiff(year,'2002-05-01','2001-01-01'); -- -1 select timestampdiff(day ,'2002-05-01','2001-01-01'); -- -485 select timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08 00:00:00'); -- -12
(4)时间单位选取
取哪个字段用什么单位即可
set @dt = '2008-09-10 07:15:30.123456';select extract(year from @dt); -- 2008 select extract(quarter from @dt); -- 3 select extract(month from @dt); -- 9 select extract(week from @dt); -- 36 select extract(day from @dt); -- 10 select extract(hour from @dt); -- 7 select extract(minute from @dt); -- 15 select extract(second from @dt); -- 30 select extract(microsecond from @dt); -- 123456select extract(year_month from @dt); -- 200809 select extract(day_hour from @dt); -- 1007 select extract(day_minute from @dt); -- 100715 select extract(day_second from @dt); -- 10071530 select extract(day_microsecond from @dt); -- 10071530123456 select extract(hour_minute from @dt); -- 715 select extract(hour_second from @dt); -- 71530 select extract(hour_microsecond from @dt); -- 71530123456 select extract(minute_second from @dt); -- 1530 select extract(minute_microsecond from @dt); -- 1530123456 select extract(second_microsecond from @dt); -- 30123456注意:比如上面的day_second不是说只选取day和second字段,而是从day到second
(5)返回日期在一周一月一年中的位置
set @dt = '2008-08-08';select dayofweek(@dt); -- 6 select dayofmonth(@dt); -- 8 select dayofyear(@dt); -- 221注意Sunday才是第一天
(6)返回日期属于这一年的第多少周
set @dt = '2008-08-08';select weekofyear(@dt); -- 32
(7)返回月份中的最后一天
select last_day('2008-02-01'); -- 2008-02-29last_day函数一个非常重要的作用是算出指定日期的月份有多少天
select now(),extract(day from last_day(now()))即从last day中抽取出day字段
(8)时间与字符串相互转换
1.str_to_date
能够将各种则乱格式的字符串转换为日期格式
select str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09 select str_to_date('08/09/08' , '%m/%d/%y'); -- 2008-08-09 select str_to_date('08.09.2008', '%m.%d.%Y'); -- 2008-08-09 select str_to_date('08:09:30', '%h:%i:%s'); -- 08:09:30 select str_to_date('08.09.2008 08:09:30', '%m.%d.%Y %h:%i:%s'); -- 2008-08-09 08:09:30
2.date_format
能够将时间类型转化为指定的字符串格式
mysql> select date_format('2008-08-08 22:23:01', '%Y/%m/%d %H/%i/%s');+----------------------------------------------------+ | date_format('2008-08-08 22:23:01', '%Y/%m/%d %H/%i/%s');| +----------------------------------------------------+ | 2008/08/08 22/23/01 |+----------------------------------------------------+
mysql> select time_format('22:23:01', '%H.%i.%s');+-------------------------------------+ | time_format('22:23:01', '%H.%i.%s') | +-------------------------------------+ | 22.23.01 | +-------------------------------------+
0 0
- mysql时间函数
- mysql 时间函数
- mysql -时间函数
- MySQL时间函数tips
- Mysql时间函数用法
- Mysql时间处理函数
- mysql时间函数
- MySql 格式化时间函数
- Mysql时间函数
- MySQL时间函数
- mysql时间函数
- mysql 当前时间函数
- mysql 处理时间函数
- mysql 时间函数
- mysql 时间间隔函数
- MySql 格式化时间函数
- mysql 时间函数
- mysql 时间函数
- JS实现密码加密
- iOS开发-证书配置
- CSDN 文章处理
- 一个APP下载升级的Demo(通知栏实时更新下载进度)------(一)
- 阿里RocketMq试用记录+简单的Spring集成
- mysql时间函数
- 项目记录01--客unity,服erlang--框架net
- Maven: The Complete Reference
- 构造函数 垃圾回收器 字符串 线程
- cocoapod使用
- android broadcast
- 9.3 静态类
- 如何判断一个未安装的APK是Launcher应用
- Linux下find命令与grep命令