共计 6256 个字符,预计需要花费 16 分钟才能阅读完成。
这篇文章主要讲解了“mysql 日期函数的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“mysql 日期函数的用法”吧!
啥也不说, 先记录一条 sql
select uid,rank,money,e, from_unixtime(time/1000) from stats_2012_01_19 where comm =8888 and e 40 and from_unixtime(time/1000) between 2012-01-19 00:00:00 and 2012-01-19 01:00:00
然后开始转 …..
001
MySQL 日期时间函数大全
002
003
DAYOFWEEK(date)
004
返回日期 date 是星期几(1= 星期天,2= 星期一, hellip; hellip;7= 星期六,ODBC 标准)
005
select DAYOFWEEK(1998-02-03
006
– 3
007
WEEKDAY(date)
008
返回日期 date 是星期几(0= 星期一,1= 星期二, hellip; hellip;6= 星期天)。
009
mysql select WEEKDAY(1997-10-04 22:23:00
010
– 5
011
mysql select WEEKDAY(1997-11-05
012
– 2
013
DAYOFMONTH(date)
014
返回 date 是一月中的第几日(在 1 到 31 范围内)
015
mysql select DAYOFMONTH(1998-02-03
016
– 3
017
DAYOFYEAR(date)
018
返回 date 是一年中的第几日(在 1 到 366 范围内)
019
mysql select DAYOFYEAR(1998-02-03
020
– 34
021
MONTH(date)
022
返回 date 中的月份数值
023
mysql select MONTH(1998-02-03
024
– 2
025
DAYNAME(date)
026
返回 date 是星期几(按英文名返回)
027
mysql select DAYNAME(1998-02-05
028
– Thursday
029
MONTHNAME(date)
030
返回 date 是几月(按英文名返回)
031
mysql select MONTHNAME(1998-02-05
032
– February
033
QUARTER(date)
034
返回 date 是一年的第几个季度
035
mysql select QUARTER(98-04-01
036
– 2
037
WEEK(date,first)
038
返回 date 是一年的第几周(first 默认值 0,first 取值 1 表示周一是周的开始,0 从周日开始)
039
mysql select WEEK(1998-02-20
040
– 7
041
mysql select WEEK(1998-02-20 ,0);
042
– 7
043
mysql select WEEK(1998-02-20 ,1);
044
– 8
045
YEAR(date)
046
返回 date 的年份(范围在 1000 到 9999)
047
mysql select YEAR(98-02-03
048
– 1998
049
HOUR(time)
050
返回 time 的小时数(范围是 0 到 23)
051
mysql select HOUR(10:05:03
052
– 10
053
MINUTE(time)
054
返回 time 的分钟数(范围是 0 到 59)
055
mysql select MINUTE(98-02-03 10:05:03
056
– 5
057
SECOND(time)
058
返回 time 的秒数(范围是 0 到 59)
059
mysql select SECOND(10:05:03
060
– 3
061
PERIOD_ADD(P,N)
062
增加 N 个月到时期 P 并返回(P 的格式 YYMM 或 YYYYMM)
063
mysql select PERIOD_ADD(9801,2);
064
– 199803
065
PERIOD_DIFF(P1,P2)
066
返回在时期 P1 和 P2 之间月数(P1 和 P2 的格式 YYMM 或 YYYYMM)
067
mysql select PERIOD_DIFF(9802,199703);
068
– 11
069
DATE_ADD(date,INTERVAL expr type)
070
DATE_SUB(date,INTERVAL expr type)
071
ADDDATE(date,INTERVAL expr type)
072
SUBDATE(date,INTERVAL expr type)
073
对日期时间进行加减法运算
074
(ADDDATE() 和 SUBDATE()是 DATE_ADD()和 DATE_SUB()的同义词, 也可以用运算符 和 - 而不是函数
075
date 是一个 DATETIME 或 DATE 值,expr 对 date 进行加减法的一个表达式字符串 type 指明表达式 expr 应该如何被解释
076
[type 值 含义 期望的 expr 格式]:
077
SECOND 秒 SECONDS
078
MINUTE 分钟 MINUTES
079
HOUR 时间 HOURS
080
DAY 天 DAYS
081
MONTH 月 MONTHS
082
YEAR 年 YEARS
083
MINUTE_SECOND 分钟和秒 MINUTES:SECONDS
084
HOUR_MINUTE 小时和分钟 HOURS:MINUTES
085
DAY_HOUR 天和小时 DAYS HOURS
086
YEAR_MONTH 年和月 YEARS-MONTHS
087
HOUR_SECOND 小时, 分钟,HOURS:MINUTES:SECONDS
088
DAY_MINUTE 天, 小时, 分钟 DAYS HOURS:MINUTES
089
DAY_SECOND 天, 小时, 分钟, 秒 DAYS HOURS:MINUTES:SECONDS
090
expr 中允许任何标点做分隔符, 如果所有是 DATE 值时结果是一个 DATE 值, 否则结果是一个 DATETIME 值)
091
如果 type 关键词不完整, 则 MySQL 从右端取值,DAY_SECOND 因为缺少小时分钟等于 MINUTE_SECOND)
092
如果增加 MONTH、YEAR_MONTH 或 YEAR, 天数大于结果月份的最大天数则使用最大天数)
093
mysql SELECT 1997-12-31 23:59:59 INTERVAL 1 SECOND;
094
– 1998-01-01 00:00:00
095
mysql SELECT INTERVAL 1 DAY 1997-12-31
096
– 1998-01-01
097
mysql SELECT 1998-01-01 – INTERVAL 1 SECOND;
098
– 1997-12-31 23:59:59
099
mysql SELECT DATE_ADD(1997-12-31 23:59:59 ,INTERVAL 1 SECOND);
100
– 1998-01-01 00:00:00
101
mysql SELECT DATE_ADD(1997-12-31 23:59:59 ,INTERVAL 1 DAY);
102
– 1998-01-01 23:59:59
103
mysql SELECT DATE_ADD(1997-12-31 23:59:59 ,INTERVAL 1:1 MINUTE_SECOND);
104
– 1998-01-01 00:01:00
105
mysql SELECT DATE_SUB(1998-01-01 00:00:00 ,INTERVAL 1 1:1:1 DAY_SECOND);
106
– 1997-12-30 22:58:59
107
mysql SELECT DATE_ADD(1998-01-01 00:00:00 , INTERVAL -1 10 DAY_HOUR);
108
– 1997-12-30 14:00:00
109
mysql SELECT DATE_SUB(1998-01-02 , INTERVAL 31 DAY);
110
– 1997-12-02
111
mysql SELECT EXTRACT(YEAR FROM 1999-07-02
112
– 1999
113
mysql SELECT EXTRACT(YEAR_MONTH FROM 1999-07-02 01:02:03
114
– 199907
115
mysql SELECT EXTRACT(DAY_MINUTE FROM 1999-07-02 01:02:03
116
– 20102
117
TO_DAYS(date)
118
返回日期 date 是西元 0 年至今多少天(不计算 1582 年以前)
119
mysql select TO_DAYS(950501);
120
– 728779
121
mysql select TO_DAYS(1997-10-07
122
– 729669
123
FROM_DAYS(N)
124
给出西元 0 年至今多少天返回 DATE 值(不计算 1582 年以前)
125
mysql select FROM_DAYS(729669);
126
– 1997-10-07
127
DATE_FORMAT(date,format)
128
根据 format 字符串格式化 date 值
129
(在 format 字符串中可用标志符:
130
%M 月名字(January hellip; hellip;December)
131
%W 星期名字(Sunday hellip; hellip;Saturday)
132
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
133
%Y 年, 数字, 4 位
134
%y 年, 数字, 2 位
135
%a 缩写的星期名字(Sun hellip; hellip;Sat)
136
%d 月份中的天数, 数字(00 hellip; hellip;31)
137
%e 月份中的天数, 数字(0 hellip; hellip;31)
138
%m 月, 数字(01 hellip; hellip;12)
139
%c 月, 数字(1 hellip; hellip;12)
140
%b 缩写的月份名字(Jan hellip; hellip;Dec)
141
%j 一年中的天数(001 hellip; hellip;366)
142
%H 小时(00 hellip; hellip;23)
143
%k 小时(0 hellip; hellip;23)
144
%h 小时(01 hellip; hellip;12)
145
%I 小时(01 hellip; hellip;12)
146
%l 小时(1 hellip; hellip;12)
147
%i 分钟, 数字(00 hellip; hellip;59)
148
%r 时间,12 小时(hh:mm:ss [AP]M)
149
%T 时间,24 小时(hh:mm:ss)
150
%S 秒(00 hellip; hellip;59)
151
%s 秒(00 hellip; hellip;59)
152
%p AM 或 PM
153
%w 一个星期中的天数(0=Sunday hellip; hellip;6=Saturday)
154
%U 星期(0 hellip; hellip;52), 这里星期天是星期的第一天
155
%u 星期(0 hellip; hellip;52), 这里星期一是星期的第一天
156
%% 字符 % )
157
mysql select DATE_FORMAT(1997-10-04 22:23:00 , %W %M %Y
158
– Saturday October 1997
159
mysql select DATE_FORMAT(1997-10-04 22:23:00 , %H:%i:%s
160
– 22:23:00
161
mysql select DATE_FORMAT(1997-10-04 22:23:00 , %D %y %a %d %m %b %j
162
– 4th 97 Sat 04 10 Oct 277
163
mysql select DATE_FORMAT(1997-10-04 22:23:00 , %H %k %I %r %T %S %w
164
– 22 22 10 10:23:00 PM 22:23:00 00 6
165
TIME_FORMAT(time,format)
166
和 DATE_FORMAT() 类似, 但 TIME_FORMAT 只处理小时、分钟和秒(其余符号产生一个 NULL 值或 0)
167
CURDATE()
168
CURRENT_DATE()
169
以 YYYY-MM-DD 或 YYYYMMDD 格式返回当前日期值(根据返回值所处上下文是字符串或数字)
170
mysql select CURDATE();
171
– 1997-12-15
172
mysql select CURDATE() 0;
173
– 19971215
174
CURTIME()
175
CURRENT_TIME()
176
以 HH:MM:SS 或 HHMMSS 格式返回当前时间值(根据返回值所处上下文是字符串或数字)
177
mysql select CURTIME();
178
– 23:50:26
179
mysql select CURTIME() 0;
180
– 235026
181
NOW()
182
SYSDATE()
183
CURRENT_TIMESTAMP()
184
以 YYYY-MM-DD HH:MM:SS 或 YYYYMMDDHHMMSS 格式返回当前日期时间(根据返回值所处上下文是字符串或数字)
185
mysql select NOW();
186
– 1997-12-15 23:50:26
187
mysql select NOW() 0;
188
– 19971215235026
189
UNIX_TIMESTAMP()
190
UNIX_TIMESTAMP(date)
191
返回一个 Unix 时间戳(从 1970-01-01 00:00:00 GMT 开始的秒数,date 默认值为当前时间)
192
mysql select UNIX_TIMESTAMP();
193
– 882226357
194
mysql select UNIX_TIMESTAMP(1997-10-04 22:23:00
195
– 875996580
196
FROM_UNIXTIME(unix_timestamp)
197
以 YYYY-MM-DD HH:MM:SS 或 YYYYMMDDHHMMSS 格式返回时间戳的值(根据返回值所处上下文是字符串或数字)
198
mysql select FROM_UNIXTIME(875996580);
199
– 1997-10-04 22:23:00
200
mysql select FROM_UNIXTIME(875996580) 0;
201
– 19971004222300
202
FROM_UNIXTIME(unix_timestamp,format)
203
以 format 字符串格式返回时间戳的值
204
mysql select FROM_UNIXTIME(UNIX_TIMESTAMP(), %Y %D %M %h:%i:%s %x
205
– 1997 23rd December 03:43:30 x
206
SEC_TO_TIME(seconds)
207
以 HH:MM:SS 或 HHMMSS 格式返回秒数转成的 TIME 值(根据返回值所处上下文是字符串或数字)
208
mysql select SEC_TO_TIME(2378);
209
– 00:39:38
210
mysql select SEC_TO_TIME(2378) 0;
211
– 3938
212
TIME_TO_SEC(time)
213
返回 time 值有多少秒
214
mysql select TIME_TO_SEC(22:23:00
215
– 80580
216
mysql select TIME_TO_SEC(00:39:38
217
– 2378
感谢各位的阅读,以上就是“mysql 日期函数的用法”的内容了,经过本文的学习后,相信大家对 mysql 日期函数的用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!