gpt4 book ai didi

mysql - pad() 选择显示 2 个字符

转载 作者:行者123 更新时间:2023-11-29 17:15:37 25 4
gpt4 key购买 nike

我有一个有效的select语句MySQL,它返回小时分钟, secs 从以秒为单位的持续时间 -

SELECT Name, Zone, Duration,
FLOOR(Duration/60/60/24) as days,
FLOOR(Duration/60/60)%24 as hours,
FLOOR(Duration/60)%60 as mins,
Duration%60 as secs
from duration

我希望每列都有 2 个字符,这样所有数据都是内联的,因此需要用零填充任何单个字符 (即,如果天数为 1,则填充/格式化,以便天数为 01)

我尝试过 pad() -

PAD(FLOOR(Duration/60/60/24),2,0) as days

但这会导致 NULL。

任何想法表示赞赏。

问候拉尔夫

最佳答案

这是 SEC_TO_TIME() 的工作和 SUBSTR() 。获取01:02:03使用SEC_TO_TIME(3723) .

要获取 HH、MM、SS 的零填充数字,请执行以下操作:

SELECT SUBSTR(SEC_TO_TIME(3723),1,2) HH, 
SUBSTR(SEC_TO_TIME(3723),4,2) MM,
SUBSTR(SEC_TO_TIME(3723),7,2) SS

如果你有一个整数,比如 7 ,并且您需要文本字符串 07 ,您可以使用 LPAD() :

 SELECT LPAD(7,2,'0')

专业提示:使用 TIME , DATE , TIMESTAMP ,和/或DATETIME表中的数据类型确实是一个很好的实践,因为它允许您利用 MySQL 提供的所有日期算术。 JDBC 提供了从数据库端数据类型到 Java 数据类型的干净转换,使得它们的操作从数据库到程序几乎是无缝的。

专业提示:在一个月左右的时间内,每周从头到尾阅读这两个 MySQL 引用手册页。了解您可以使用的功能可以让您的工作变得更加轻松。

关于mysql - pad() 选择显示 2 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51651344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com