我有一个名为title_runtime的列,它以秒为单位,我想以小时为单位显示,也只显示运行时超过三个小时的列。这就是我所拥有的,减去转换:
select title_name, title_type, title_release_year, title_runtime as title_runtime_hrs
from nf_titles
where title_release_year = '1999' or
title_release_year = '2000' or
title_release_year = '2001' and
title_runtime > 3
order by title_release_year, title_runtime_hrs发布于 2013-10-04 13:55:04
如果除法操作中的两者都是int,则结果将是int。
试试这个:
select title_name, title_type, title_release_year, title_runtime / 3600.0 as title_runtime_hrs
from nf_titles
where title_release_year = '1999' or
title_release_year = '2000' or
title_release_year = '2001' and
title_runtime > 3*3600
order by title_release_year, title_runtime_hrs发布于 2013-10-04 14:02:25
为了精确测量小时,你需要除以3600.0。不只是3600。如果你除以3600,你就永远不会得到准确的小时数。例如,如果运行时为1/2小时,则需要结果为1.5小时。如果不除以3600.0,这是不可能的。
SELECT title_name, title_type, title_release_year, title_runtime / 3600.0 as title_runtime_hrs
FROM nf_titles
WHERE title_release_year = '1999' or
title_release_year = '2000' or
title_release_year = '2001' and
title_runtime > (3.0 * 3600.0)
order by title_release_year, title_runtime_hrs
发布于 2013-10-04 13:51:50
将列title_runtime除以3600。
select title_name, title_type, title_release_year, title_runtime/3600 as title_runtime_hrs
from nf_titles
where title_release_year = '1999' or
title_release_year = '2000' or
title_release_year = '2001' and
title_runtime > 3*3600
order by title_release_year, title_runtime_hrs上面的查询是错误的,我们需要强制浮点除法,否则1200 / 3600会显示列值为零。
title_runtime / 3600.0 as title_runtime_hrshttps://stackoverflow.com/questions/19182922
复制相似问题