mysql日期命令_史上最全MySQL日期命令,你想要的都在这哦

相信大家偶尔也会对MySQL中的日期而感觉到头疼的把,今天小编给大家带来非常完整的SQL中常用的日期命令以及用法,通俗易懂哦~

话不都说,先上干货

MySQL中常用的Date函数表如下:

函数

描述

返回日期格式

SQL格式(例子)

NOW()

返回当前的日期和时间

YYYY-MM-DD HH:mm:ss

select now();

CURDATE()

返回当前的日期

YYYY-MM-DD

select curdate();

CURTIME()

返回当前的时间

HH:mm:ss

select curtime();

DATE()

提取日期或日期/时间表达式的日期部分

YYYY-MM-DD

select date(合法日期) from 表名称;

EXTRACT()

返回日期/时间按的单独部分

-

select extract(日期参数 from 合法日期) from 表名称;

DATE_ADD()

给日期添加指定的时间间隔(不会影响存储数据,输出数据会有变化)

-

select date_add(合法日期, interval 增加的时间间隔 日期参数) from 表名称;

DATE_SUB()

从日期减去指定的时间间隔

-

select date_sub(合法日期, interval 增加的时间间隔 日期参数) from 表名称;

DATEDIFF()

返回两个日期之间的天数(前后参数无大小限制)

-

select datediff(日期1, 日期2);

DATE_FORMAT()

用不同的格式显示日期/时间

-

select date_format(合法日期,输出的格式) from 表名称

1、now()/curdate()/curtime():

w_2u2vd91dr.jpg

2、date():

w_x4i24zwov.jpg

3、extract():(中文意思:提取),date_add(), date_sub(),如下表:

提示:输出格式中,省略前面的所有0,最小输出为0;

日期参数

描述

输出格式(EXTRACT())

输出算式(DATE_ADD())

输出算式(DATE_SUB())

MICROSECOND

一百万分之一秒,微秒

-

+ 毫秒数

- 毫秒数

SECOND

ss

+ 秒数

- 秒数

MINUTE

mm

+ 分数

- 分数

HOUR

HH

+ 时数

- 时数

DAY

DD

+ 天数

- 天数

WEEK

-

+ 周数

- 周数

MONTH

MM

+ 月数

- 月数

QUARTER

-

+ 刻数

- 刻数

YEAR

YY

+ 年数

- 年数

SECOND_MICROSECOND

秒 × 1,000,000

ss000000

+ 毫秒数

- 毫秒数

MINUTE_MICROSECOND

分 × 1,000,000

mm000000

+ 毫秒数

- 毫秒数

MINUTE_SECOND

分秒

mmss

+ 秒数

- 秒数

HOUR_MICROSECOND

时 × 1,000,000

HH000000

+ 毫秒数

- 毫秒数

HOUR_SECOND

时分秒

HHmmss

+ 秒数

- 秒数

HOUR_MINUTE

时分

HHmm

+ 分数

- 分数

DAY_MICROSECOND

天时分秒 × 1,000,000

DDHHmmss000000

+ 毫秒数

- 毫秒数

DAY_SECOND

天时分秒

DDHHmmss

+ 秒数

- 秒数

DAY_MINUTE

天时分

DDHHmm

+ 分数

- 分数

DAY_HOUR

天时

DDHH

+ 小时数

- 小时数

YEAR_MONTH

年月

YYYYMM

+ 月数

- 月数

部分截图演示:

w_czfb81o3j.jpg

4、datediff()(2个日期相差数):

w_o7y39krb3.jpg

5、date_format():如下表,输出的格式如下:

格式

描述

%a

缩写星期名

%b

缩写月名

%c

月,数值

%D

带有英文前缀的月中的天

%d

月的天,数值(00-31)

%e

月的天,数值(0-31)

%f

微秒

%H

小时 (00-23)

%h

小时 (01-12)

%I

小时 (01-12)

%i

分钟,数值(00-59)

%j

年的天 (001-366)

%k

小时 (0-23)

%l

小时 (1-12)

%M

月名

%m

月,数值(00-12)

%p

AM 或 PM

%r

时间,12-小时(hh:mm:ss AM 或 PM)

%S

秒(00-59)

%s

秒(00-59)

%T

时间, 24-小时 (hh:mm:ss)

%U

周 (00-53) 星期日是一周的第一天

%u

周 (00-53) 星期一是一周的第一天

%V

周 (01-53) 星期日是一周的第一天,与 %X 使用

%v

周 (01-53) 星期一是一周的第一天,与 %x 使用

%W

星期名

%w

周的天 (0=星期日, 6=星期六)

%X

年,其中的星期日是周的第一天,4 位,与 %V 使用

%x

年,其中的星期一是周的第一天,4 位,与 %v 使用

%Y

年,4 位

%y

年,2 位

w_17w1aziv4.jpg

6、timestamp(时间戳):

时间戳在创建表时的用法说明如下:

创建新记录和修改现有记录的时候都对这个数据列刷新

TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它

TIMESTAMP DEFAULT CURRENT_TIMESTAMP

在创建新记录的时候把这个字段设置为0,以后修改时刷新它

TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

在创建新记录的时候把这个字段设置为给定值,以后修改时刷新它

TIMESTAMP DEFAULT ‘yyyy-mm-dd hh:mm:ss' ON UPDATE CURRENT_TIMESTAMP

时间戳的函数格式如下:

格式

描述

timestamp(date)

date to timestamp

timestamp(dt,time)

dt + time

timestampadd(unit,interval,datetime_expr)

-

timestampdiff(unit,datetime_expr1,datetime_expr2)

-

w_jakiogpc0.jpg

w_jiqj3xtts.jpg

7、timezone(时区):

格式:convert_tz(dt,from_tz,to_tz)

w_w7pf1cpc0.jpg

8、一些常用的函数整理:

常用函数

描述

to_days

函数查询今天的数据:select * from 表名 where to_days(时间字段名) = to_days(now());

返回从0000年(公元1年)至当前日期的总天数

DAYOFWEEK(date)

返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。

WEEKDAY(date)

返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。

DAYOFMONTH(date)

返回date的月份中日期,在1到31范围内。

DAYOFYEAR(date)

返回date在一年中的日数, 在1到366范围内

MONTH(date)

返回date的月份,范围1到12。

DAYNAME(date)

返回date的星期名字。

MONTHNAME(date)

返回date的月份名字。

QUARTER(date)

返回date一年中的季度,范围1到4。

WEEK(date)

对于星期天是一周的第一天的地方,有一个单个参数,返回date的周数,范围在0到52。

WEEK(date,first)

2个参数形式WEEK()允许你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1, 从星期一开始。

YEAR(date)

返回date的年份,范围在1000到9999。

HOUR(time)

返回time的小时,范围是0到23。

MINUTE(time)

返回time的分钟,范围是0到59。

SECOND(time)

回来time的秒数,范围是0到59。

PERIOD_ADD(P,N)

增加N个月到阶段P(以格式YYMM或YYYYMM)。以格式YYYYMM返回值。注意阶段参数P不是日期值。

PERIOD_DIFF(P1,P2)

返回在时期P1和P2之间月数,P1和P2应该以格式YYMM或YYYYMM。注意,时期参数P1和P2不是日期值。

FROM_DAYS(N)

给出一个天数N,返回一个DATE值。

TIME_TO_SEC(time)

返回time参数,转换成秒。

不积跬步,无以至千里;不急小流,无以成江海。每天学一点,大神离你就不远。

今天的分享就到这了,希望大家喜欢,能和大家一起学习MySQL知识~~~~

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值