mysql 日期时间函数

        学习了字符串函数,接着学习日期时间函数,

3,日期和时间函数

        日期和时间函数主要用来处理日期和时间值,一般的日期函数除了使用DATE类型的参数外,也可以使用DATETIME或者TIMESTAMP类型的参数,但会忽略这些值的时间部分。相同的,以TIME类型值为参数的函数,可以接受TIMESTAMP类型的参数,但会忽略日期部分,许多日期函数可以同时接受数和字符串类型的两种参数。

                                日期和时间函数表

函数

说明

CURDATE()、 CURRENT_DATE()

获取当前日期

CURTIME()、 CURRENT_TIME()

获取当前时间

CURRENT_TIMESTAMP()、LOCALTIME()、

NOW()、

SYSDATE()

获取当前日期和时间 

UNIX_TIMESTAMP(date)

获取时间戳

FROM_UNIXTIME(date)

把UNIX时间戳转换为普通格式的时间 

UTC_DATE()

函数返回当前UTC日期值

UTC_TIME()

返回当前UTC时间值

MONTH(date)

返回date对应的月份,范围值从1~12

MONTHNAME(date)

返回日期date对应月份的英文全名

DAYNAME(d)

返回d对应的工作日的英文名称,例如Sunday、Monday等

DAYOFWEEK(d)

返回d对应的一周中的索引(位置)。1表示周日,2表示周一,..7表示周六)

WEEKDAY(d)

返回d对应的工作日索引。0表示周一,1表示周二,....,6表示周日

WEEK(d)

计算日期d是一年中的第几周

WEEKOFYEAR(d)

计算某天位于一年中的第几周,范围是从1~53,相当于WEEK(d,3)

DAYOFYEAR(d)

返回d是一年中的第几天,范围是从1~366

DAYOFMONTH(d)

返回d是一个月中的第几天,范围是从1~31

YEAR(date)

返回date对应的年份,范围是1970~2069

QUARTER(date)

返回date对应的一年中的季度值,范围是从1~4

MINUTE(time)

返回time对应的分钟数,范围是从0~59

SECOND(time)

返回time 对应的秒数。范围是从0~59

EXTRACT(type FROM date)

从日期中提取一部分值

TIME_TO_SEC(time)

返回已转化为秒的time参数。转换公式为:小时*3600+分钟*60+秒

SEC_TO_TIME(seconds)

小返回被转化为小时、分钟和秒数的seconds参数值

DATE_ADD(date, INTERVAL expr type)、ADDDATE(date, INTERVAL expr type)

执行日期的加运算

DATE_SUB(date, INTERVAL expr type)、SUBDATE(date, INTERVAL expr type)

执行日期的减运算

ADDTIME(date,expr)

将expr值添加到 date,并返回修改后的值,date是一个日期或者日期时间表达式,而expr是一个时间表达式

SUBTIME(date,expr)

将date减去 expr值,并返回修改后的值,date是一个日期或者日期时间表达式,而expr是一个时间表达式

DATEDIFF(date1,date2)

返回起始时间datel和结束时间date2之间的天数

TIME_FORMAT(time,format)

根据format字符串安排time值的格式

GET_FORMAT(val_type, format_type)

回日期时间字符串的显示格式

1,获取当前日期的函数和获取当前时间的函数

        CURDATE()和 CURRENT_DATE()函数作用相同,将当前日期按照‘YYYY-MM-DD’或YYYYMMDD格式的值返回,具体格式根据函数在字符串或是数字语境中而定。

        【例53】使用日期函数获取系统当前日期,输入语句如下:

SELECT CURDATE(), CURRENT_DATE(), CURDATE() + 0;

        可以看到,两个函数作用相同,都返回了相同的系统当前日期,“CURDATE()+0”将当前日期值转换为数值型。

        CURTIME()和 CURRENT_TIME()函数作用相同,将当前时间以‘HH:MM:SS'或HHMMSS的格式返回,具体格式根据函数在字符串或是数字语境中而定。

        【例54】使用时间函数获取系统当前时间,输入语句如下:

SELECT CURTIME(), CURRENT_TIME(), CURTIME()+0;

        可以看到,两个函数作用相同,都返回了相同的系统当前时间,“CURTIME()+0”将当前时间值转换为数值型。

2,获取当前日期和时间的函数

        CURRENT_TIMESTAMP()、LOCALTIME()、NOW()和 SYSDATE()4个函数的作用相同,均返回当前日期和时间值,格式为‘YYYY-MM-DD HH:MM:SS’或YYYYMMDDHHMMSS,具体格式根据函数在字符串或数字语境中而定。

        【例55】使用日期时间函数获取当前系统日期和时间,输入语句如下:

SELECT CURRENT_TIMESTAMP(), LOCALTIME(), NOW(), SYSDATE();

        可以看到,4个函数返回的结果是相同的。

3,UNIX时间戳函数

        UNIX_TIMESTAMP(date)若无参数调用,则返回一个Unix时间戳(‘1970-01-01 00:00:00’GMT之后的秒数〕作为无符号整数。其中,GMT (Greenwich mean time)为格林尼治标准时间)。若用date来调用UNIX_TIMESTAMP(),它会将参数值以‘1970-01-01 00-00:0O’GMT后的秒数的形式返回。date可以是一个DATE字符串、DATETIME字符串、TIMESTAMP或一个当地时间的YYMMDD 或YYYYMMDD格式的数字。

        【例56】使用UNIX_TIMESTAMP函数返回UNIX格式的时间戳,输入语句如下:

SELECT UNIX_TIMESTAMP(), UNIX_TIMESTAMP(NOW()), NOW();

        FROM_UNIXTIME(date)函数把UNIX时间戳转换为普通格式的时间,与UNIX_TIMESTAMP (date)函数互为反函数。

        【例57】使用FROM_UNIXTIME函数将UNIX时间截转换为普通格式时间,输入语句如下:

SELECT FROM_UNIXTIME('1466393937');

        可以看到,FROM_UNIXTIME("1466393937')与【例56】中 UNIX_TIMESTAMP(NOWO)的结果正好相反,即两个函数互为反函数。

4,返回UTC日期的函数和返回UTC时间的函数

        UTC_DATE()函数返回当前UTC(世界标准时间〉日期值,其格式为‘YYYY-MM-DD’或YYYYMMDD,具体格式取决于函数是否用在字符串或数字语境中。

        【例58】使用UTC_DATEO函数返回当前UTC日期值,输入语句如下:

SELECT  UTC_DATE(), UTC_DATE()+0;

        UTC_DATE()函数返回值为当前时区的日期值。

        

        UTC_TIME()返回当前UTC时间值,其格式为‘HH:MM:SS’或HHMMSS,具体格式取决于函数是否用在字符串或数字语境中。

        【例59】使用UTC_TIME()函数返回当前UTC时间值,输入语句如下:

SELECT UTC_TIME(), UTC_TIME() + 0;

        UTC_TIME()返回当前时区的时间值。

5,获取月份的函数MONTH(date)和 MONTHNAME(date)

        MONTH(date)函数返回date对应的月份,范围值从1~12。

        【例60】使用MONTHO函数返回指定日期中的月份,输入语句如下:

SELECT MONTH('2024-02-13');

        MONTHNAME(date)函数返回日期date对应月份的英文全名。

        【例61】使用MONTHNAMEO)函数返回指定日期中的月份的名称,输入语句如下:

SELECT MONTHNAME('2024-02-13');

6,获取星期的函数DAYNAME(d)DAYOFWEEK(d)和WEEKDAY(d)

        DAYNAME(d)函数返回d对应的工作日的英文名称,例如Sunday、Monday等。

        【例62】使用DAYNAME(函数返回指定日期的工作日名称,输入语句如下:

 SELECT DAYNAME('2024-02-10'); 

        可以看到,2024年2月10日是星期六,因此返回结果为Saturday。

        DAYOFWEEK(d)函数返回d对应的一周中的索引(位置)。1表示周日,2表示周一,..7表示周六)。

        【例63】使用DAYOFWEEKO函数返回日期对应的周索引,输入语句如下:

SELECT DAYOFWEEK('2024-02-14');

        由【例63】可知,2024年2月14日为周三,因此返回其对应的索引值,结果为4。

        WEEKDAY(d)返回d对应的工作日索引。0表示周一,1表示周二,....,6表示周日。

        【例64】使用WEEKDAYO函数返回日期对应的工作日索引,输入语句如下:

SELECT WEEKDAY('2024-02-14 22:23:00'), WEEKDAY('2024-04-01');

        可以看到,WEEKDAY()和 DAYOFWEEK()函数都是返回指定日期在某一周内的位置,只是索引编号不同。

7,获取星期数的函数WEEK(d)和WEEKOFYEAR(d)

        WEEK(d)计算日期d是一年中的第几周。WEEK()的双参数形式允许指定该星期是否起始于周日或周一,以及返回值的范围是否为从0~53或从1~53。若 Mode参数被省略,则使用default_week_format系统自变量的值,可参考表1。

                        表1 WEEK函数中Mode参数取值

Mode

一周的第一天

范围

Week1为第一周

0

周日

0~53

本年度中有一个周日

1

周一

0~53

本年度中有3天以上

2

周日

1~53

本年度中有一个周日

3

周一

1~53

本年度中有3天以上

4

周日

0~53

本年度中有3天以上

5

周一

0~53

本年度中有一个周一

6

周日

1~53

本年度中有3天以上

7

周一

1~53

本年度中有一个周一

        【例65】使用WEEK()函数查询指定日期是一年中的第几周,输入语句如下:

SELECT WEEK('2011-02-20'), 
WEEK('2011-02-20',0), 
WEEK ('2011-02-20',1);

        可以看到,WEEK('2011-02-20')使用一个参数,其第二个参数为default_week_format 默认值,MySQL中该值默认为0,指定一周的第一天为周日,因此和WEEK(2011-02-20',0)返回结果相同;WEEK(2011-02-20',1)中第二个参数为1,指定一周的第一天为周一,返回值为7。可以看到,第二个参数的不同,返回的结果也不同,使用不同的参数的原因是不同地区和国家的习惯不同,每周的第一天并不相同。

        WEEKOFYEAR(d)计算某天位于一年中的第几周,范围是从1~53。相当于WEEK(d,3)。

        【例66】使用WEEKOFYEAR()查询指定日期是一年中的第几周,输入语句如下:

SELECT WEEK('2011-02-20',3), WEEKOFYEAR('2011-02-20');

        可以看到,两个函数返回结果相同。

7,获取天数的函数DAYOFYEAR(d)和 DAYOFMONTH(d)

        DAYOFYEAR(d)函数返回d是一年中的第几天,范围是从1~366。

        【例67】使用DAYOFYEAR()函数返回指定日期在一年中的位置,输入语句如下:

SELECT DAYOFYEAR('2016-02-20');

        1月份31天,再加上2月份的20天,因此返回结果为51。

        DAYOFMONTH(d)函数返回d是一个月中的第几天,范围是从1~31。

        【例68】使用DAYOFMONTH()函数返回指定日期在一个月中的位置,输入语句如

SELECT DAYOFMONTH('2016-02-20');

        结果显而易见。

8,获取年份、季度、小时、分钟和秒钟的函数

        YEAR(date)返回date对应的年份,范围是1970~2069。

        【例69】使用YEAR(函数返回指定日期对应的年份,输入语句如下:

SELECT YEAR('11-02-03'), YEAR('96-02-03');

        提示: “00~69’转换为“2000-2069', ‘70-99’转换为‘1970~1999’。

        QUARTER(date)返回date对应的一年中的季度值,范围是从1~4。

        【例70】使用QUARTERO函数返回指定日期对应的季度,输入语句如下:

SELECT QUARTER('16-04-01');

        MINUTE(time)返回time对应的分钟数,范围是从0~59。

        【例71】使用MINUTE()函数返回指定时间的分钟值,输入语句如下:

 SELECT MINUTE('16-02-03 10:10:03');

        

        SECOND(time)返回time 对应的秒数。范围是从0~59。

        【例72】使用SECOND()函数返回指定时间的秒值,输入语句如下:

SELECT SECOND('10:05:03');

9,获取日期的指定值的函数EXTRACT(type FROM date)

        EXTRACT(type FROM date)函数所使用的时间间隔类型说明符同DATE_ADD()或DATE_SUB()的相同,但它从日期中提取一部分,而不是执行日期运算。

        【例73】使用EXTRACT函数提取日期或者时间值,输入语句如下:

SELECT EXTRACT(YEAR FROM '2016-07-02') AS eol1,
EXTRACT(YEAR_MONTH FROM '2016-07-12 01:02:03') AS co12,
EXTRACT(DAY_MINUTE FROM '2016-07-12 01:02:03') AS eo13;

        type值为YEAR时,只返回年值,结果为2011;type值为YEAR_MONTH时返回年与月份,结果为201107;type值为DAY_MINUTE时,返回日、小时和分钟值,结果为120102。

        TIME_TO_SEC(time)返回已转化为秒的time参数。转换公式为:小时*3600+分钟*60+秒。

        【例74】使用TIME_TO_SEC函数将时间值转换为秒值,输入语句如下:

SELECT TIME_TO_SEC('23:23:00');

        SEC_TO_TIME(seconds)返回被转化为小时、分钟和秒数的seconds参数值,其格式为‘HHMM:SS’或HHMMSS,具体格式根据该函数是否用在字符串或数字语境中而定。

        【例75】使用SEC_TO_TIME()函数将秒值转换为时间格式,输入语句如下:

SELECT SEC_TO_TIME(2345), SEC_TO_TIME (2345)+0,
TIME_TO_SEC('23:23:00'), SEC_TO_TIME(84180);

        可以看到,SEC_TO_TIME函数返回值加上0值之后变成了小数值,TIME_TO_SEC正好和SEC_TO_TIME互为反函数。

10,计算日期和时间的函数

        计算日期和时间的函数有:DATE_ADD()、ADDDATE()、DATE_SUB()、SUBDATE()、ADDTIME()、SUBTIME()和 DATE_DIFF()。

        DATE_ADD(date, INTERVAL expr type)DATE_SUB(date,INTERVAL expr type),其中,date是一个DATETIME或DATE值,用来指定起始时间。expr是一个表达式,用来指定从起始日期添加或减去的时间间隔值。expr是一个字符串;对于负值的时间间隔,它可以以一个负号‘-’开头。type为关键词,它指示了表达式被解释的方式。表2显示了type和 expr参数的关系。

                                表2 MySQL中计算日期和时间的格式

type的值

预期的exprt的值

MICROSECOND

MICROSECONDS

SECOND

SECONDS

MINUTE

MINUTES

HOUR

HOURS

DAY

DAYS

WEEK

WEEKS

MONTH

MONTHS

QUARTER

QUARTERS

YEAR

YEARS

SECOND_MICROSECOND

'SECONDS.MICROSECONDS'

MINUTE_MICROSECOND

'MINUTES.MICROSECONDS'

MINUTE_SECOND

'MINUTES:SECONDS'

HOUR_MICROSECOND

'HOURS.MICROSECONDS'

HOUR_SECOND

'HOURS:MINUTES:SECONDS'

HOUR_MINUTE

HOURS:MINUTES

DAY_MICROSECOND

'DAYS.MICROSECONDS'

DAY_SECOND

'DAYS HOURS:MINUTES:SECONDS'

DAY_MINUTE

'DAYS HOURS:MINUTES'

DAY_HOUR

'DAYS HOURS'

YEAR_MONTH

'YEARS-MONTHS'

        若date参数是一个DATE值,计算只会包括YEAR、MONTH和DAY部分(即没有时间部分),其结果是一个DATE值。否则,结果将是一个DATETIME值。

        DATE_ADD(date, INTERVAL expr type)ADDDATE(date, INTERVAL expr type)两个函数作用相同,执行日期的加运算。

        【例76】使用DATE_ADD()和 ADDDATE()函数执行日期加操作,输入语句如下:

SELECT DATE_ADD('2010-12-31 23:59:59', INTERVAL 1 SECOND) AS col1,
 ADDDATE('2010-12-31 23:59:59', INTERVAL 1 SECOND) AS col2,
 DATE_ADD('2010-12-31 23:59:59', INTERVAL '1:1' MINUTE_SECOND) AS co13;

        由结果可以看到,DATE_ADD(2010-12-3123:59:59',INTERVAL 1 SECOND)和ADDDATE(2010-12-3123:59:59', INTERVAL 1 SECOND)两个函数执行的结果是相同的,将时间增加1秒后返回,结果都为‘2011-01-01 00:00:00’; DATE_ADD(2010-12-31 23:59:59', INTERVAL '1:1' MINUTE_SECOND)日期运算类型是MINUTE_SECOND,将指定时间增加1分1秒后返回,结果为‘2011-01-01 00:01:00’。

        DATE_SUB(date, INTERVAL expr type)或者SUBDATE(date, INTERVAL expr type)两个函数作用相同,执行日期的减运算。

        【例77】使用DATE_SUB和SUBDATE 函数执行日期减操作,输入语句如下:

SELECT DATE_SUB('2011-01-02', INTERVAL 31 DAY) AS col1,
SUBDATE('2011-01-02', INTERVAL 31 DAY) AS col2,
DATE_SUB('2011-01-01 00:01:00', INTERVAL '0 0:1:1' DAY_SECOND) AS col3;

        由结果可以看到,DATE_SUB(2011-01-02',INTERVAL 31DAY)和SUBDATE(2011-01-02', INTERVAL 31 DAY)两个函数执行的结果是相同的,将日期值减少31天后返回,结果都为“2010-12-02”;DATE_SUB('2011-01-01 00:01:00',INTERVAL '0 0:1:1' DAY_SECOND)函数将指定日期减少1天,时间减少1分1秒后返回,结果为“2010-12-31 23:59:59”。

        DATE_ADD和 DATE_SUB在指定修改的时间段时,也可以指定负值,负值代表相减,即返回以前的日期和时间。

        ADDTIME(date,expr)函数将expr值添加到 date,并返回修改后的值,date是一个日期或者日期时间表达式,而expr是一个时间表达式。

        【例78】使用ADDTIME进行时间加操作,输入语句如下:

SELECT ADDTIME('2000-12-31 23:59:59', '1:1:1'), 
ADDTIME('02:02:02', '02:00:00'); 

        可以看到,将“2000-12-31 23:59:59”的时间部分值增加1小时1分钟1秒后的日期变为“2001-01-01 01:01:00”;“02:02:02”增加两小时后的时间为“04:02:02”。

        SUBTIME(date,expr)函数中 date减去 expr值,并返回修改后的值,date是一个日期或者日期时间表达式,而expr是一个时间表达式。

        【例79】使用SUBTIME(函数执行时间减操作,输入语句如下:

SELECT SUBTIME('2000-12-31 23:59:59', '1:1:1'),
SUBTIME('02:02:02', '02:00:00');

        可以看到,将“2000-12-31 23:59:59”的时间部分值减少1小时1分钟1秒后的日期变为“2000-12-31 22:58:58”;“02:02:02”减少两小时的时间为“00:02:02”。

        DATEDIFF(date1,date2)返回起始时间datel和结束时间date2之间的天数。date1和 date2为日期或date-and-time表达式。计算中只用到这些值的日期部分。

        【例80】使用DATEDIFF()函数计算两个日期之间的间隔天数,输入语句如下:

SELECT DATEDIFF('2010-12-31 23:59:59', '2010-12-30') AS col1,
 DATEDIFF('2010-11-30 23:59:59', '2010-12-31')AS col23;

        DATEDIFF(函数返回datel-date2后的值,因此 DATEDIFF('2010-12-31 23:59:59', '2010-12-30')返回值为 1:DATEDIFF('2010-11-30 23:59:59', '2010-12-31')返回值为-31。

11,将日期和时间格式化的函数

        DATE_FORMAT(date,format)根据format指定的格式显示date值。主要format格式如表3所示。

                        表3 DATE_FORMAT时间日期格式

说明符

说明

%a

工作日的缩写名称(Sun..Sat)

%b

月份的缩写名称(Jan..Dec)

%c

月份,数字形式(0..12)

%D

带有英语后缀的该月日期(0th, lst, 2nd, 3rd, ..)

%d

该月日期,数字形式(00..31)

%e

该月日期,数字形式(0..31)

%f

微秒(00000..999999)

%H

以2位数表示24小时(00..23)

%h, %I

以2位数表示12小时(01..12)

%i

'分钟,数字形(00..59)

%j

一年中的天数(001.366)

%k

以24(20..23)小时表示时间

%l

以12(1..12)小时表示时间

%M

月份名称(Janury..Dccember)

%n

月份,数字形式(00..12)

%p

上午(AM)或下午(PM)

%r

时间,12小时制(小时hh:分钟mm:秒数ss后加AM或PM)

%S, %s

以2位数形式表示秒(00..59)

%T

时间,24小时制. (小时hh:分钟mm:秒数ss)

%U

周(0.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位数形式表示年份

%%

'%'文字字符

        【例81】使用DATE_FORMAT()函数格式化输出日期和时间值,输入语句如下:

SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y') AS co11,
DATE_FORMAT('1997-10-04 22:23:00', '%D %y %a %d %m %b %j') AS co12,
DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s') AS co13,
DATE_FORMAT('1999-01-01', '%X %V') AS col4;

        可以看到“1997-10-04 22:23:00”分别按照不同参数转换成了不同格式的日期值和时间值。

        TIME_FORMAT(time,format)根据 format字符串安排time值的格式。format字符串可能仅会处理包含小时、分钟和秒的格式说明符,其他说明符产生一个 NULL值或0。若time值包含一个大于23的小时部分,则%H和%k小时格式说明符会产生一个大于0..23的通常范围的值。

        【例82】使用TIME_FORMATO)函数格式化输入时间值,输入语句如下:

SELECT TIME_FORMAT('16:00:00','%H %k %h %I %1');

        TIME_FORMAT 只处理时间值,可以看到,“16:00:00”按照不同的参数转换为不同格式的时间值。

        GET_FORMAT(val_type, format_type)返回日期时间字符串的显示格式, val_type表示日期数据类型,包括DATE、DATETIME和TIME; format_type表示格式化显示类型,包括EUR、INTERVAL、ISO、JIS、USA。GET_FORMAT根据两个值类型组合返回的字符串显示格式如表4所示。

                        表4 GET_FORMAT返回的格式字符串

值类型

格式化类型

显示格式化字符串

DATE

EUR

%d.%m.%Y

DATE

INTERVAL

%Y%m%d

DATE

ISO

%Y-%m-%d

DATE

JIS

%Y-%m-%d

DATE

USA

%m.%d.%Y

TIME

EUR

%H.%i.%s

TIME

INTERVAL

%H%i%s

TIME

ISO

%H:%i:%s

TIME

JIS

%H:%i:%s

TIME

USA

%h:%i:%s %p

DATETIME

EUR

%Y-%m-%d %H.%i.%s

DATETIME

INTERVAL

%Y%m%d%H%i%s

DATETIME

ISO

%Y-%m-%d %H:%i:%s

DATETIME

JIS

%Y-%m-%d %H:%i:%s

DATETIME

USA

%Y-%m-%d %H.%i.%s

        【例83】使用GET_FORMAT()函数显示不同格式化类型下的格式字符串,输入语句如下:

SELECT GET_FORMAT(DATE, 'EUR'), GET_FORMAT(DATE, 'USA');

        

        可以看到,不同类型的格式化字符串并不相同。

        【例84】在DATE_FORMATO函数中,使用GET_FORMAT函数返回的显示格式字符串来显示指定的日期值,输入语句如下:

SELECT DATE_FORMAT('2000-10-05 22:23:00', GET_FORMAT(DATE,'USA'));

        GET_FORMAT(DATE,'USA')返回的显示格式字符串为%m.%d.%Y,对照表3 DATE_FORMAT函数的显示格式,%m 以数字形式显示月份,%d 以数字形式显示日,%Y以4位数字形式显示年,因此结果为10.05.2000。

12,将日期和时间字符串转为日期和时间

STR_TO_DATE('日期时间字符串', '格式') 把日期时间字符串转为时间

SELECT STR_TO_DATE('2024-02-28 12:15:16', '%Y-%m-%d %H:%i:%s') AS datetime1,
  STR_TO_DATE('2024-02-28', '%Y-%m-%d') AS date1,
  STR_TO_DATE('12:15:16', '%H:%i:%s') AS time1; 

总结:

        日期时间函数中,获取当前时间的NOW()是首当其冲;其次把时间格式化,变成字符串DATE_FORMAT()函数和把字符串时间变成时间的函数STR_TO_DATE()这两个是高频使用,接着是DATEDIFF(date1,date2)计算两个日期差函数。

        上一篇: 《mysql 字符串函数》        

        下一篇: 《mysql 条件/系统/加密/其它函数

  • 23
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天狼1222

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值