详解MySQL日期 字符串 时间戳互转

yizhihongxing

当我们在处理 MySQL 数据库中的日期、字符串和时间戳时,有时候需要将它们相互转换。这个过程可能看起来很简单,但实际上会出现一些易错点。以下是详解 MySQL 日期、字符串、时间戳互转的完整攻略。

前置知识

在了解日期、字符串和时间戳在 MySQL 数据库中的互相转换之前,需要了解它们的定义和格式:

  • 日期:是指年份、月份和日期的组合,MySQL 中的日期格式为 YYYY-MM-DD,例如 2021-05-12
  • 字符串:是指一序列字符,可以包含数字、字母、标点符号、空格等,并没有特定的格式。
  • 时间戳:是指从 1970 年 1 月 1 日 00:00:00 UTC 时间开始经过的秒数,常用于计算日期和时间之间的差值。Unix 系统的时间戳通常是整数,MySQL 中的时间戳为 YYYY-MM-DD HH:MM:SS 格式,例如 2021-05-12 21:56:10

将日期转换为字符串

将日期转换为字符串可以使用 MySQL 的 DATE_FORMAT 函数,该函数的语法为:

DATE_FORMAT(date, format)

其中 date 是待转换的日期,format 是要转换成的字符串格式。下面的示例将日期从 YYYY-MM-DD 格式转换为 YYYY年MM月DD日 格式:

SELECT DATE_FORMAT('2021-05-12', '%Y年%m月%d日');

输出结果为:

| DATE_FORMAT('2021-05-12', '%Y年%m月%d日') |
| ----------------------------------------- |
| 2021年05月12日                             |

将时间戳转换为日期或字符串

将时间戳转换为日期或字符串时,可以使用 MySQL 中的 FROM_UNIXTIME 函数。FROM_UNIXTIME 函数将时间戳转换为日期或字符串,它的语法为:

FROM_UNIXTIME(unix_timestamp, format)

其中 unix_timestamp 是时间戳值,format 是要转换成的日期或字符串格式。以下是将时间戳转换为日期和字符串的示例:

  1. 将时间戳转换为日期

下面的示例将 Unix 时间戳 1620817575 转换为 YYYY-MM-DD 格式的日期:

``` sql
SELECT FROM_UNIXTIME(1620817575, '%Y-%m-%d');
```

输出结果为:

```
| FROM_UNIXTIME(1620817575, '%Y-%m-%d') |
| ------------------------------------- |
| 2021-05-12                              |
```
  1. 将时间戳转换为字符串

下面的示例将 Unix 时间戳 1620817575 转换为 YYYY-MM-DD HH:MM:SS 格式的字符串:

sql
SELECT FROM_UNIXTIME(1620817575, '%Y-%m-%d %H:%i:%s');

输出结果为:

```
| FROM_UNIXTIME(1620817575, '%Y-%m-%d %H:%i:%s') |
| ---------------------------------------------- |
| 2021-05-12 21:56:15                              |
```

将字符串转换为日期或时间戳

将字符串转换为日期或时间戳时,需要使用 MySQL 中的 STR_TO_DATE 函数或 UNIX_TIMESTAMP 函数。

  1. 将字符串转换为日期

下面的示例将 YYYY-MM-DD 格式的字符串 2021-05-12 转换为日期:

sql
SELECT STR_TO_DATE('2021-05-12', '%Y-%m-%d');

输出结果为:

| STR_TO_DATE('2021-05-12', '%Y-%m-%d') |
| ------------------------------------- |
| 2021-05-12 |

  1. 将字符串转换为时间戳

下面的示例将 YYYY-MM-DD HH:MM:SS 格式的字符串 2021-05-12 21:56:10 转换为时间戳:

sql
SELECT UNIX_TIMESTAMP('2021-05-12 21:56:10');

输出结果为:

| UNIX_TIMESTAMP('2021-05-12 21:56:10') |
| ------------------------------------- |
| 1620820570 |

小结

在 MySQL 中,日期、字符串和时间戳之间的互相转换可以使用 DATE_FORMAT、FROM_UNIXTIME、STR_TO_DATE 和 UNIX_TIMESTAMP 等函数实现。在实际使用中,要注意参数的格式和正确性,避免出现错误结果。

以上是MySQL日期 字符串 时间戳互转的完整攻略,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解MySQL日期 字符串 时间戳互转 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Redis源码编译安装及简单配置

    Redis官网 安装操作步骤 # 安装必要工具包 [root@centos7 ~]#yum -y install gcc jemalloc-devel # 解压 [root@centos7 ~]#tar xvf redis-5.0.9.tar.gz # 进入目录 [root@centos7 ~]#cd redis-5.0.9/ # 编译安装 [root@ce…

    Redis 2023年4月13日
    00
  • Windows下Memcache的安装及PHP扩展配置方法

    下面是详细讲解 Windows 下 Memcached 的安装及 PHP 扩展配置方法: 安装 Memcached 下载 Memcached 安装包: 访问 Memcached 官网:https://memcached.org/ 在 Download 页面找到 “Windows” 子栏目。 选择适合的版本下载:https://memcached.org/do…

    database 2023年5月22日
    00
  • oracle数据库去除重复数据常用的方法总结

    Oracle数据库去除重复数据常用的方法总结 在Oracle数据库中,去除重复数据是常见的操作之一。本文将总结常见的去除重复数据方法,并给出相应的SQL示例说明,以下是一些常见的方法: DISTINCT关键字去重 DISTINCT是Oracle数据库的一种去重方式,可以通过查询所有的列,去除重复的数据。该方法比较简单,但是不适用于大数据量情况。 示例 假设有…

    database 2023年5月21日
    00
  • 深入理解MySQL事务的4种隔离级别

    深入理解 MySQL 事务的 4 种隔离级别 什么是事务? 事务是指一系列数据库操作作为一个统一的工作单元,要么全部执行,要么全部回滚的过程。事务一般具有四个属性,ACID:- Atomicity(原子性)- Consistency(一致性)- Isolation(隔离性)- Durability(持久性) 本文重点讲解事务的隔离性。 事务的隔离级别 MyS…

    database 2023年5月21日
    00
  • 如何使用Python连接和操作Oracle数据库?

    在Python中,可以使用cx_Oracle模块连接和操作Oracle数据库。以下是Python使用cx_Oracle模块连接和操作Oracle数据库的完整攻略,包括连接Oracle数据库、表、插入数据、查询数据、更新数据、删除数据等操作。 连接Oracle数据库 在Python中,可以使用cx_Oracle模块连接Oracle数据库。以下是连接Oracle…

    python 2023年5月12日
    00
  • 直接在安装了redis的Linux机器上操作redis数据存储类型–对key的操作

    一、概述:     前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String、List、Set、Hashes和Sorted-Set。这些命令都具有一个共同点,即所有的操作都是针对与Key关联的Value的。而该篇博客将主要讲述与Key相关的Redis命令。学习这些命令对于学习Redis是非常重要的基础,也是能够充分挖掘Redis潜力的利器。 …

    Redis 2023年4月12日
    00
  • Mysql主键相关的sql语句集锦

    MySQL数据库经常用到的一个重要概念是主键(Primary Key),主键是一种用于唯一标识表中每个记录的一列或者一组列。主键对于数据表的设计和性能都十分重要,下面是关于MySQL主键的一些SQL语句集锦的完整攻略。 什么是主键? 主键是一种能够唯一标识数据库表中每个记录的列或者列组。主键可以是表中任何一个列或者一组列,只要满足下列条件。 主键的取值必须唯…

    database 2023年5月21日
    00
  • redis数据库拷贝

    import redis r = redis.Redis(host=’58.221.49.23′,password=’123456′,port=6379) for i in r.lrange(‘yhd:info_urls’,0,745): r.lpush(‘yhd:info_urls_back’,i)  

    Redis 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部