比如100秒
如何通过select 100
得到1分40秒这样的结果?
如何通过select 100
得到1分40秒这样的结果?
解决方案 »
- sql前台的程序界面都是用什么做的?
- select读取带有参数的存储过程返回集,求读取语句
- 一条复杂的update from 语句出现错误,请大家帮我看一下
- phpmyadmin插入csv数据,显示为“?”
- 怎么把在查询分析器里面查到的数据导出成ACCESS这类或者简单的格式,,不想要*rtp的,呵呵,在线等
- Excel导入数据到SQLserver,Excel中的9位数值变成科学计数法?
- 数据类型不匹配
- 关于快速提取数据库中数据关联表数据的问题
- 运行过程中出现“连接失败”的错误
- 再问一个没人问过的问题:装过SQL server 服务器的和装过客户端程序的有什么不同?
- 处于创业初期,欢迎北京的同仁加盟
- C/S 火车订票系统 数据查询 问题?
set @i=100
select ltrim(@i/60)+'分'+ltrim(100%60)+'秒'1分40秒
set @s=100
select right(100+@s/3600,2)+'小时'+right(100+(@s%3600)/60,2)+'分钟'+right(100+@s%60,2) +'秒'
--这里的100限制了是不能超过99小时,如果是999小时,则改100为1000
/*
----------------------
00小时01分钟40秒(所影响的行数为 1 行)
*/
set @i=100
select ltrim(@i/60)+'分'+ltrim(100%60)+'秒'
select right(convert(varchar,dateadd(second,@seconds,0),120),10)
该方法的最大有效合法转换值为“31日23小时59分59秒”。不知道是否合用
您的方法如何加上小时呢?
declare @i bigint
set @i=600000
select ltrim(@i/3600)+'时'+ltrim((@i-3600*ltrim(@i/3600))/60)+'分'+ltrim(@i%60)+'秒'
declare @seconds int
set @seconds = 9935345
select cast(@seconds/3600 as varchar) -- hour
+':'+cast((@seconds%3600)/60 as varchar) -- minute
+':'+cast(@seconds%60 as varchar) -- second
set @i=9935345
select ltrim(@i/3600)+':'+ltrim((@i%3600)/60)+':'+ltrim(@i%60)这样也行cast和ltrim有什么区别?这边都可以哦。
ltrim:隐式类型转换
在SQL中效率应该相差无几。你可以在大数据量的环境下测试一番。
提示:
服务器: 消息 206,级别 16,状态 2,行 248
操作数类型冲突: int 与 void type 不兼容
服务器: 消息 8117,级别 16,状态 1,行 300
操作数数据类型 numeric 无效(运算符 modulo)。
怎么解决呢?多谢!