扫码一下
查看教程更方便
当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。
只要您的数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间部分,情况就有点复杂了。
在讨论日期查询的复杂性之前,我们先来看看最重要的内建日期处理函数。
下表列出了可通过 SQL 使用的所有重要的日期和时间相关函数。不同的 RDBMS 还支持各种不同的功能。下面的函数是基于 MySQL RDBMS。
序号 | 函数 | 描述 |
---|---|---|
1 | ADDDATE() | 添加日期 |
2 | ADDTIME() | 添加时间 |
3 | CONVERT_TZ() | 从一个时区转换为另一个时区 |
4 | CURDATE() | 返回当前日期 |
5 | CURRENT_DATE() | CURDATE() 的同义词 |
6 | CURRENT_TIME() | CURTIME() 的同义词 |
7 | CURRENT_TIMESTAMP() | NOW() 的同义词 |
8 | CURTIME() | 返回当前时间 |
9 | DATE_ADD() | 添加两个日期 |
10 | DATE_FORMAT() | 按指定格式日期 |
11 | DATE_SUB() | 减去两个日期 |
12 | DATE() | 提取日期或日期时间表达式的日期部分 |
13 | DATEDIFF() | 减去两个日期 |
14 | DAY() | DAYOFMONTH() 的同义词 |
15 | DAYNAME() | 返回工作日的名称 |
16 | DAYOFMONTH() | 返回月份中的第几天 (1-31) |
17 | DAYOFWEEK() | 返回参数的工作日索引 |
18 | DAYOFYEAR() | 返回一年中的第几天 (1-366) |
19 | EXTRACT() | 提取日期的一部分 |
20 | FROM_DAYS() | 将天数转换为日期 |
21 | FROM_UNIXTIME() | 将日期格式化为 UNIX 时间戳 |
22 | HOUR() | 提取小时 |
23 | LAST_DAY() | 返回参数的月份的最后一天 |
24 | LOCALTIME() | NOW() 的同义词 |
25 | LOCALTIMESTAMP() | NOW() 的同义词 |
26 | MAKEDATE() | 从年和年中的某一天创建一个日期 |
27 | MAKETIME() | 找时间() |
28 | MICROSECOND() | 从参数返回微秒 |
29 | MINUTE() | 从参数返回分钟 |
30 | MONTH() | 返回从过去的日期开始的月份 |
31 | MONTHNAME() | 返回月份的名称 |
32 | NOW() | 返回当前日期和时间 |
33 | PERIOD_ADD() | 将期间添加到年月 |
34 | PERIOD_DIFF() | 返回期间之间的月数 |
35 | QUARTER() | 从日期参数返回季度 |
36 | SEC_TO_TIME() | 将秒转换为“HH:MM:SS”格式 |
37 | SECOND() | 返回第二个 (0-59) |
38 | STR_TO_DATE() | 将字符串转换为日期 |
39 | SUBDATE() | 当使用三个参数调用 DATE_SUB() 的同义词时 |
40 | SUBTIME() | 减去时间 |
41 | SYSDATE() | 返回函数执行的时间 |
42 | TIME_FORMAT() | 格式为时间 |
43 | TIME_TO_SEC() | 返回转换为秒的参数 |
44 | TIME() | 提取传递的表达式的时间部分 |
45 | TIMEDIFF() | 减去时间 |
46 | TIMESTAMP() | 此函数使用单个参数返回日期或日期时间表达式。有两个参数,参数的总和 |
47 | TIMESTAMPADD() | 向日期时间表达式添加一个间隔 |
48 | TIMESTAMPDIFF() | 从日期时间表达式中减去一个间隔 |
49 | TO_DAYS() | 返回转换为天的日期参数 |
50 | UNIX_TIMESTAMP() | 返回 UNIX 时间戳 |
51 | UTC_DATE() | 返回当前 UTC 日期 |
52 | UTC_TIME() | 返回当前 UTC 时间 |
53 | UTC_TIMESTAMP() | 返回当前 UTC 日期和时间 |
54 | WEEK() | 返回周数 |
55 | WEEKDAY() | 返回工作日索引 |
56 | WEEKOFYEAR() | 返回日期的日历周 (1-53) |
57 | YEAR() | 返回年份 |
58 | YEARWEEK() | 返回年和周 |