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