我想把这个字符串转换成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/