Mysql Select 语句动态转换时间戳

标签 mysql sql str-to-date

我有一个 MYSQL 表,其中有一个名为时间戳的列名,以字符串格式存储。此列中的时间戳采用以下格式,例如'2014年10月20日下午5:39'

现在如何选择一行并将时间戳列即时转换为 24HR 格式。

基本上我想要这样的东西。 SELECT id, user, STR_TO_DATE(timestamp, '%d/%m/%Y %h:%i %p') 作为时间戳 FROM mytable WHERE user="bob";

但这不起作用。看起来它无法识别 STR_TO_DATE sql 函数中的时间戳变量,并且它为时间戳列重新调整 NULL。

请帮忙。

最佳答案

我觉得不错:

mysql> SELECT STR_TO_DATE('20/10/2014 05:39 PM', '%d/%m/%Y %h:%i %p');
+---------------------------------------------------------+
| STR_TO_DATE('20/10/2014 05:39 PM', '%d/%m/%Y %h:%i %p') |
+---------------------------------------------------------+
| 2014-10-20 17:39:00                                     |
+---------------------------------------------------------+

(我知道这应该是一条评论,但为了获得格式化,这是一个答案。)

关于Mysql Select 语句动态转换时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28665486/

相关文章:

MySQL STR_TO_DATE 和时区

mysql - 序列化更新并扣除具有不同 id 的多行

sql - 删除 SQL 中的重复行

php - 使用 SSH 使用 PHP 连接到远程 MySQL 数据库

sql - 如何在闰年查找无效日期

mysql - bash - SQL 查询输出到变量

选定格式的 MySQL str_to_date 转换

java - TO_DATE ('2020-04-01 00:00:00.0' ,'YYYY-MM-DD HH24:MI:SS.TZR' 中最后一个 .0 的 oracle 格式是什么?

php - 无法从 MySQL 表中检索数据

Python mysql.connector rowcount > 0 但 fetchall() 显示没有结果