mysql - 无法将字符串格式化为持续时间

标签 mysql string time

有一个像这样的字符串 09h 36m 18s 我想得到像这样的字符串 09:36:18

我尝试了这个查询,但一无所获:

select DATE_FORMAT(STR_TO_DATE("09h 36m 18s", "%H %i %s"),"%H:%i:%s")

如何得到想要的输出?

最佳答案

我喜欢 suggestion by @salman-a并且会随时使用它 regex_replace suggested by @tim-biegeleisen不可用。

另一种选择是,为了给您带来灵 active ,您可以做糟糕的代数,然后使用replace 来解决问题。

select replace(replace(replace(replace('09h 36m 18s', ' ', ':'), 'h', ''), 'm', ''), 's', '');

MySQL中string Replace的基本语法如下所示(read more) :

SELECT REPLACE (Expression, Change_String, Replace_String) FROM Source

关于mysql - 无法将字符串格式化为持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58839866/

相关文章:

python - 如何在Python中除最后一个字符之外的所有出现的字符上分割字符串?

c - Linux 获取开机后的系统时间

mysql - 链接服务器更新mysql不工作

mysql - Connection.query 函数被跳过并且不在 if 语句中执行

mysql - ZeosLib DataSets 是否需要执行 FetchAll 方法才能返回真实的总行数?

mysql - pgloader - 无法以用户 "localhost": Condition QMYND:MYSQL-UNSUPPORTED-AUTHENTICATION was signalled 的身份在 "root"(端口 3306)连接到 mysql

Java替换不可见字符

arrays - 在 cellForRowAtIndexPath Swift 中将 Int Array 格式化为 String

c++ - 将天数转换为年数(包括闰年)的高效算法

android - 使用计时器小部件的时间来计算给定速率的数量