您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SQL 日期函数

1. 前言

编程之家解释: 内置的日期主要用于对日期和时间类型的字段进行相关的操作。

本小节,我们将一起学习 中的日期。

日期和时间类型是两个比较繁琐的数据类型,它们无法和一样易于操作和判断,因此 提供了一系列的日期供开发者使用。

本小节测试数据如下,请先在中执行:

DROP TABLE IF EXISTS imooc_user;CREATE TABLE imooc_user(
  id int PRIMARY KEY,
  username varchar(),
  age int,
  create_time timestamp);INSERT INTO imooc_user(id,username,age,create_time)VALUES (,'peter',, '2020-01-29 19:33:55'),(,'pedro',,'2020-01-27 11:33:55'),(,'jerry',,'2020-01-29 01:33:50');

2. 实践

在 中,常见的日期有如下几个:

Postgre CURRENT_XXX 这些,当前时间戳可以使用

提供了方便的来帮助我们获得当前的日期和时间,且其值与当前系统和时区均有关系。

我们先当前日期:

SELECT CURRENT_DATE();
+----------------+
| CURRENT_DATE() |
+----------------+
| 2020-01-29     |
+----------------+

然后当前时间:

SELECT CURRENT_TIME();
+----------------+
| CURRENT_TIME() |
+----------------+
| 19:42:18       |
+----------------+

当然,我们也可以通过时间戳来一起日期和时间:

SELECT CURRENT_TIMESTAMP();
+---------------------+
| CURRENT_TIMESTAMP() |
+---------------------+
| 2020-01-29 19:43:01 |
+---------------------+

通过EXTRACT我们可以抽取 imooc_user 表中create_time字段的某些具体值,如获得是那一年被创建的:

SELECT EXTRACT(YEAR FROM create_time) FROM imooc_user;
+--------------------------------+
| EXTRACT(YEAR FROM create_time) |
+--------------------------------+
| 2020                           |
| 2020                           |
| 2020                           |
+--------------------------------+

我们也可以抽取具体创建的哪一秒:

SELECT EXTRACT(SECOND FROM create_time) FROM imooc_user;
+----------------------------------+
| EXTRACT(SECOND FROM create_time) |
+----------------------------------+
| 55                               |
| 55                               |
| 50                               |
+----------------------------------+

我们还可以通过DATEYEAR等具体来抽取创建时间,比如新建的日期:

SELECT DATE(create_time) FROM imooc_user;
+-------------------+
| DATE(create_time) |
+-------------------+
| 2020-01-29        |
| 2020-01-27        |
| 2020-01-29        |
+-------------------+

还可以抽取小时部分:

SELECT HOUR(create_time) FROM imooc_user;
+-------------------+
| HOUR(create_time) |
+-------------------+
| 19                |
| 11                |
| 1                 |
+-------------------+

3. 小结

CURRENT_TIMESTAMP 是非常重要的,很多关于日期类型的插入都是通过它来完成的。

日期抽取多数用来具体的年份和月份的数据。如YEAR(create_time)=2020


联系我
置顶