MySQL 将 STR_TO_DATE 转换为 10 位微秒

标签 mysql sql datetime

我想把这个字符串转换成datetime格式 09-OCT-17 03.08.25.907000000 下午

不幸的是,这个微秒部分给我带来了问题。它有9个精度。 (已编辑)

select STR_TO_DATE('09-OCT-17 03.08.25 PM', '%d-%b-%y %h.%i.%s %p') as DATE

它在没有微秒部分的情况下工作

最佳答案

MySQL 不支持纳秒精度。它确实支持微秒精度。如果您的字符串在纳秒部分始终具有 000,您可以使用:

select STR_TO_DATE('09-OCT-17 03.08.25.907000000 PM', '%d-%b-%y %h.%i.%s.%f000 %p')

另一种选择是修改字符串,如果它们不总是 0:

select STR_TO_DATE(INSERT('09-OCT-17 03.08.25.907000123 PM', 26, 3, ''), '%d-%b-%y %h.%i.%s.%f %p')

关于MySQL 将 STR_TO_DATE 转换为 10 位微秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59233092/

相关文章:

php - 如何通过查询mysql中的自引用表来获得递归结果?

mysql - 如何将以下信息合并到 1 个 mysql 查询中?

mysql - 为什么添加 INNER JOIN 会使此查询变得如此缓慢?

mysql向日期时间添加小时数

python - 执行 Sql 脚本返回 "None"

php - 通用 MySQL 查询

python - MySQL INSERT 数据没有存储在正确的数据库中,只是临时存储的?

sql - 如何在 SQL Server 中合并时间间隔

java - 将 201204121458 转换为日期格式 2012/04/12 14 :59 in Java

c# - 使用 C# 和 AllowZeroDatetime 从 MySQL 表中获取日期时间