扫码一下
查看教程更方便
当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。
只要您的数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间部分,情况就有点复杂了。
在讨论日期查询的复杂性之前,我们先来看看最重要的内建日期处理函数。
下表列出了可通过 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() | 返回年和周 |