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