我有一份工作 select
返回的语句 days
, hours
, mins
, 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个字符,所以所有的数据是 inline
因此需要用零填充任何单个字符(即,如果days是1,那么pad/format使days是01)
我试过pad()-
PAD(FLOOR(Duration/60/60/24),2,0) as days
但结果是空的。
有什么想法我都很感激。
向拉尔夫问好
1条答案
按热度按时间ktca8awb1#
这是我的工作
SEC_TO_TIME()
以及SUBSTR()
. 得到01:02:03
使用SEC_TO_TIME(3723)
.要获得hh,mm,ss的零填充数字,请执行以下操作:
如果你有一个整数,说
7
,您需要文本字符串07
,您可以使用LPAD()
:专业提示:使用
TIME
,DATE
,TIMESTAMP
,和/或DATETIME
表中的数据类型是非常好的做法,因为它允许您分解mysql提供的所有日期算法。jdbc提供了从这些数据库端数据类型到java数据类型的干净转换,使得从数据库到程序的操作几乎是无缝的。专业提示:在一个月左右的时间里,每周通读这两个mysql参考手册。了解可供您使用的功能使您的工作更轻松。
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html
https://dev.mysql.com/doc/refman/8.0/en/string-functions.html