mysql - 如何在mysql中将varchar转换为datetime格式

标签 mysql

我正在尝试将 varchar 转换为日期时间 这就是我现在所拥有的,它对我不起作用。我总是得到有值(value)的东西

STR_TO_DATE(REPLACE(LEFT('5/16/2011 20:14 PM', LOCATE('M' , '5/16/2011 20:14 PM')-3), '/',','),'%m-%d-%Y %T')

以下代码返回 5,16,2011 20:14

select REPLACE(LEFT('5/16/2011 20:14 PM', LOCATE('M' , '5/16/2011 20:14 PM')-3), '/',',')

我现在的输出是 emply string。应该是 2011-05-16 20:14:00

我怎样才能让它工作?

谢谢

最佳答案

如果你的varchar是这样的:

5/16/2011 20:14 PM

您可以使用此将其转换为日期时间:

SELECT STR_TO_DATE('5/16/2011 20:14 PM', '%c/%e/%Y %H:%i')

或者按照你想要的格式格式化它:

SELECT DATE_FORMAT(STR_TO_DATE('5/16/2011 20:14 PM', '%c/%e/%Y %H:%i'), '%Y-%m-%d %H:%m:%s')

关于mysql - 如何在mysql中将varchar转换为datetime格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15396058/

相关文章:

PhP, MySql - 优化代码

mysql - 在 mySQL 中连接今天和昨天的列

mysql - ERD设计的正反面

php - MySQL默认值不正确

MySQL 外键导致表删除

mysql - 类型 'MySqlConnection' 未定义

php - 如果 _GET 不存在,如何使用一个查询;如果 _GET 存在,如何使用其他查询?

python - 3.x 之前的 Python 的正确 SQL 查询

php - 从wordpress数据库中选择类:

mysql - 如何在局域网内访问mysql(linux)?