|
1,now()函数,获得当前日期和时间
1
2
3
4
5
6
| mysql root@localhost:(none)> SELECT NOW()
+---------------------+
| NOW() |
|---------------------|
|2015-08-25 10:47:54 |
+---------------------+
|
2,sysdate()函数,获得当前日期和时间
1
2
3
4
5
6
| mysql root@localhost:(none)> SELECT SYSDATE()
+---------------------+
| SYSDATE() |
|---------------------|
|2015-08-25 10:49:43 |
+---------------------+
|
now()函数,和sysdate()函数作用类似,区别如下:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值
1
2
3
4
5
6
7
8
9
10
11
12
| mysql root@localhost:(none)> SELECT NOW(),sleep(2),NOW()
+---------------------+------------+---------------------+
| NOW() | sleep(2) | NOW() |
|---------------------+------------+---------------------|
| 2015-08-25 10:51:18 | 0 | 2015-08-25 10:51:18 |
+---------------------+------------+---------------------+
mysql root@localhost:(none)> SELECT SYSDATE(),sleep(2),SYSDATE()
+---------------------+------------+---------------------+
| SYSDATE() | sleep(2) | SYSDATE() |
|---------------------+------------+---------------------|
| 2015-08-25 10:52:01 | 0 | 2015-08-25 10:52:03 |
+---------------------+------------+---------------------+
|
3,current_time(),curtime()函数,获得当前时间的函数
1
2
3
4
5
6
7
8
9
10
11
12
| mysql root@localhost:(none)> SELECT CURRENT_TIME()
+------------------+
| CURRENT_TIME() |
|------------------|
| 10:57:47 |
+------------------+
mysql root@localhost:(none)> SELECT CURTIME()
+-------------+
| CURTIME() |
|-------------|
| 10:57:55 |
+-------------+
|
4,current_date(),curdate()函数,获得当前日期的函数
1
2
3
4
5
6
7
8
9
10
11
12
| mysql root@localhost:(none)> SELECT CURRENT_DATE()
+------------------+
| CURRENT_DATE() |
|------------------|
| 2015-08-25 |
+------------------+
mysql root@localhost:(none)> SELECT CURDATE()
+-------------+
| CURDATE() |
|-------------|
| 2015-08-25 |
+-------------+
|
5,current_timestamp()函数,获得当前时间戳的函数
1
2
3
4
5
6
| mysql root@localhost:(none)> SELECT CURRENT_TIMESTAMP()
+-----------------------+
| CURRENT_TIMESTAMP() |
|-----------------------|
| 2015-08-25 11:00:21 |
+-----------------------+
|
6,date_format(date,format)函数,日期格式转换函数,将日期转化为字符串形式
1
2
3
4
5
6
| mysql root@localhost:(none)> SELECT curdate(),DATE_FORMAT(curdate(),'%Y%m%d');
+-------------+-----------------------------------+
| curdate() | DATE_FORMAT(curdate(),'%Y%m%d') |
|-------------+-----------------------------------|
| 2015-08-25 | 20150825 |
+-------------+-----------------------------------+
|
7,time_format(time,format)函数,时间转换函数,将时间转化为字符串形式
1
2
3
4
5
6
| mysql root@localhost:(none)> SELECT curtime(),time_format(curtime(),'%H%i%s')
+-------------+-----------------------------------+
| curtime() | time_format(curtime(),'%H%i%s')|
|-------------+----------------------------------- |
| 11:15:17 | 111517 |
+-------------+-----------------------------------+
|
上面函数的逆函数str_to_date()函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| mysql root@localhost:(none)> SELECT str_to_date('20150311','%Y%m%d')
+------------------------------------+
| str_to_date('20150311','%Y%m%d') |
|------------------------------------|
| 2015-03-11 |
+------------------------------------+
mysql root@localhost:(none)> SELECT str_to_date('121409','%H%i%s')
+----------------------------------+
| str_to_date('121409','%H%i%s') |
|----------------------------------|
| 12:14:09 |
+----------------------------------+
mysql root@localhost:(none)> SELECT str_to_date('20150903120000','%Y%m%d%H%i%s')
+------------------------------------------------+
| str_to_date('20150903120000','%Y%m%d%H%i%s') |
|------------------------------------------------|
| 2015-09-03 12:00:00 |
+------------------------------------------------+
|
8,unix_timestamp()函数,将时间转化为时间戳的函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
| mysql root@localhost:(none)> SELECT unix_timestamp()
+--------------------+
| unix_timestamp() |
|--------------------|
| 1440474909 |
+--------------------+
mysql root@localhost:(none)> SELECT unix_timestamp('2015-09-03')
+--------------------------------+
| unix_timestamp('2015-09-03') |
|--------------------------------|
| 1441209600 |
+--------------------------------+
mysql root@localhost:(none)> SELECT unix_timestamp('2015-09-03 01:00:00')
+-----------------------------------------+
| unix_timestamp('2015-09-03 01:00:00') |
|-----------------------------------------|
| 1441213200 |
+-----------------------------------------+
9,from_unixtime(unix_timestamp)函数,将时间戳转换为时间字符串
mysql root@localhost:(none)> SELECT from_unixtime(1441209600)
+-----------------------------+
| from_unixtime(1441209600) |
|-----------------------------|
| 2015-09-03 00:00:00 |
+-----------------------------+
mysql root@localhost:(none)> SELECT from_unixtime(1441209600,'%Y%m%d %H:%i:%s')
+-----------------------------------------------+
| from_unixtime(1441209600,'%Y%m%d %H:%i:%s') |
|-----------------------------------------------|
| 20150903 00:00:00 |
+-----------------------------------------------+
10,date_add()函数,日期计算函数
mysql root@localhost:(none)> SELECT date_add(now(),interval 1 year)
+-----------------------------------+
| date_add(now(),interval 1 year) |
|-----------------------------------|
| 2016-08-25 13:53:16 |
+-----------------------------------+
mysql root@localhost:(none)> SELECT date_add(now(),interval 1 month)
+------------------------------------+
| date_add(now(),interval 1 month) |
|------------------------------------|
| 2015-09-25 13:54:38 |
+------------------------------------+
mysql root@localhost:(none)> SELECT date_add(now(),interval 1 week)
mysql root@localhost:(none)> SELECT date_add(now(),interval 1 day)
mysql root@localhost:(none)> SELECT date_add(now(),interval 1 hour)
mysql root@localhost:(none)> SELECT date_add(now(),interval 1 minute)
mysql root@localhost:(none)> SELECT date_add(now(),interval 1 second)
同理 -1 指的是一年/月/日/天/时/分/秒以前
mysql root@localhost:(none)> SELECT date_add(now(),interval -1 year)
+------------------------------------+
| date_add(now(),interval -1 year) |
|------------------------------------|
| 2014-08-25 13:57:46 |
+------------------------------------+
11,datediff(date1,date2),日期相减函数,返回的是天数
mysql root@localhost:(none)> SELECT datediff('2015-09-03','2015--8-25')
+---------------------------------------+
| datediff('2015-09-03','2015--8-25') |
|---------------------------------------|
| 9 |
+---------------------------------------+
mysql root@localhost:(none)> SELECT datediff('2015--8-25','2015-09-03')
+---------------------------------------+
| datediff('2015--8-25','2015-09-03') |
|---------------------------------------|
| -9 |
+---------------------------------------+
12,timediff(time1,time2),时间相减函数,返回的是时间差值
mysql root@localhost:(none)> SELECT timediff('12:37:33','12:35:32')
+-----------------------------------+
| timediff('12:37:33','12:35:32') |
|-----------------------------------|
| 0:02:01 |
+-----------------------------------+
mysql root@localhost:(none)> SELECT timediff('12:35:32','12:37:33')
+-----------------------------------+
| timediff('12:35:32','12:37:33') |
|-----------------------------------|
| -1 day, 23:57:59 |
+-----------------------------------+
13,timestamp()时间戳转换,增,减函数
mysql root@localhost:(none)> select timestamp('2013-08-25');
+---------------------------+
| timestamp('2013-08-25') |
|---------------------------|
| 2013-08-25 00:00:00 |
+---------------------------+
mysql root@localhost:(none)> select timestamp('2013-08-25','01:00:00');
+--------------------------------------+
| timestamp('2013-08-25','01:00:00') |
|--------------------------------------|
| 2013-08-25 01:00:00 |
+--------------------------------------+
14,timestampadd(),函数类似于 date_add(),强大于date_add()
mysql root@localhost:(none)> select timestampdiff(year,'2013-01-01','2015-01-01')
+-------------------------------------------------+
| timestampdiff(year,'2013-01-01','2015-01-01') |
|-------------------------------------------------|
| 2 |
+-------------------------------------------------+
mysql root@localhost:(none)> select timestampdiff(month,'2013-01-01','2015-03-01')
+--------------------------------------------------+
| timestampdiff(month,'2013-01-01','2015-03-01') |
|--------------------------------------------------|
| 26 |
+--------------------------------------------------+
mysql root@localhost:(none)> select timestampdiff(day,'2013-01-01','2015-03-01')
+------------------------------------------------+
| timestampdiff(day,'2013-01-01','2015-03-01') |
|------------------------------------------------|
| 789 |
+------------------------------------------------+
mysql root@localhost:(none)> select timestampdiff(hour,'2013-01-01','2015-03-01')
+-------------------------------------------------+
| timestampdiff(hour,'2013-01-01','2015-03-01') |
|-------------------------------------------------|
| 18936 |
+-------------------------------------------------+
mysql root@localhost:(none)> select timestampdiff(second,'2013-01-01','2015-03-01')
+---------------------------------------------------+
| timestampdiff(second,'2013-01-01','2015-03-01') |
|---------------------------------------------------|
| 68169600 |
+---------------------------------------------------+
|
|
|