mysql - MySQL 中将 varchar 数据类型转换为 datetime

标签 mysql sql

如何将数据库中 varchar(30) 数据类型的时间转换为日期时间,我有此示例 11:45:24 09/23/2016 ,假设必须将其转换为 2016-9-23 11:45:24。我的列名称是 due_by。我已经搜索并尝试了不同的建议,但似乎没有一个查询成功或正确。我在 MySQL 工作台中运行它。

示例代码

SELECT convert(varchar(30),'yyyy-mm-dd hh:mm:ss', 120) 
FROM csbrms.user_request;

enter image description here

只是希望我的 due_by 格式等于 Now() 列的格式。

最佳答案

我认为我们不能直接将其转换为现在的格式,因为它在 Sql Server 中是可能的,所以我已经尝试过这个,如果你同意的话,请看一下。

MySQL:

 SELECT 
CONCAT(STR_TO_DATE(
        RIGHT(TRIM(due_by), 10), '%m/%d/%Y'), ' ', 
        STR_TO_DATE(due_by,'%h:%i:%s')) nowFormat 
FROM csbrms.user_request;

SQL 服务器:

SELECT CONVERT(DATETIME, '11:45:24 09/23/2016', 120)

关于mysql - MySQL 中将 varchar 数据类型转换为 datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39652584/

相关文章:

c# - 获取从任何 sql 语句返回的字段名称

mysql - 使用 AND 的 WordPress 查询将数据返回为 OR

mysql - 如何在mySQL中查询每次一周的数据

mysql - MySQL 是否记录它使用索引的频率?

sql - 使用 SQL 查询查找订购了 > x 种产品的客户的详细信息

sql - 日期时间的 SSIS 源格式隐式转换

mysql - 在 MySQL 中不使用 GROUP 获取 "#1111 - Invalid use of group function"

Mysql - 如果存在整个相同的行,则在插入新行时忽略警告

java - 将 arraylist 的值插入数据库

mysql - 我如何将另一个表与另一个表的主表连接起来