MySql如何通过TRUNCATE将 "秒" 转换为天时分秒

1:JavaScript或者jquery处理时间

      很多时候,我们在处理将秒格式化为天时分秒的时候都是通过JavaScript或者jquery在前端来进行实现,今天特意想了一下,如果可以直接在查询数据的时候直接处理好的话那岂不是很完美。下面给出一下jQuery处理的方法代码

//时间换算
function time(obj){
	var d=0;
	var m=0;
	var s=0;
	var str = "";
	if(obj>0){
		d=Math.floor(obj/1000/60/60/24);
		h=Math.floor(obj/1000/60/60%24);
		m=Math.floor(obj/1000/60%60);
		s=Math.floor(obj/1000%60);
		if(h>0){
			h = h+"小时";
			str = str + h;
		}
		if(m>0){
			m = m+"分钟";
			str = str + m;
		}
		if(s>0){
			s =  s+"秒";
			str = str + s;
		}	
	}else{
		str = "0";
	}
	return str;
}

  2:MySql使用语句处理时间

    在处理时间的时候,需要使用到一个CONVERT() 函数,通过这个函数来指定输出的内容格式,下面是官方给的实际解析和例子

   CONVERT() 函数是把日期转换为新数据类型的通用函数。

   CONVERT() 函数可以用不同的格式显示日期/时间数据。

语法

CONVERT(data_type(length),expression,style)

 

描述
data_type(length)规定目标数据类型(带有可选的长度)。
expression规定需要转换的值。
style规定日期/时间的输出格式。

下面的表格展示了 datetime 或 smalldatetime 转换为字符数据的 style 值:


(世纪 yy)

(世纪 yyyy)
输入/输出标准
-0 or 100mon dd yyyy hh:miAM (or PM)Default
1101mm/dd/yyUSA
2102yy.mm.ddANSI
3103dd/mm/yyBritish/French
4104dd.mm.yyGerman
5105dd-mm-yyItalian
6106dd mon yy 
7107Mon dd, yy 
8108hh:mm:ss 
-9 or 109mon dd yyyy hh:mi:ss:mmmAM (or PM)Default+millisec
10110mm-dd-yyUSA
11111yy/mm/ddJapan
12112yymmddISO
-13 or 113dd mon yyyy hh:mi:ss:mmm (24h) 
14114hh:mi:ss:mmm (24h) 
-20 or 120yyyy-mm-dd hh:mi:ss (24h) 
-21 or 121yyyy-mm-dd hh:mi:ss.mmm (24h) 
-126yyyy-mm-ddThh:mi:ss.mmm (no spaces)ISO8601
-130dd mon yyyy hh:mi:ss:mmmAMHijiri
-131dd/mm/yy hh:mi:ss:mmmAMHijiri

 


实例

下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:

CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),10)
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),6)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)

结果如下所示:

Nov 04 2011 11:45 PM
11-04-11
11-04-2011
04 Nov 11
04 Nov 2011
04 Nov 2011 11:45:34:243

 

来吧,看看我最后的sql语句吧

set @time = 7205; -- (SELECT SUM(call_duration) from orderRecord);
SELECT 
CONCAT(convert(TRUNCATE(@time/(24*3600), 0), char), '天') LAST_DAY,
CONCAT(convert(TRUNCATE(@time%(24*3600)/3600, 0), char), '小时') LAST_HOUR,
CONCAT(convert(TRUNCATE((@time/60), 0), char), '分') LAST_MINUTE,
CONCAT(convert(TRUNCATE((@time)%60, 0), char), '秒') LAST_SECOND

效果图如下所示,其中的天时分秒 可以不用写,在组装显示的时候判断显示就好

 

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码奴生来只知道前进~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值