You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Snowflake中编写查询将秒数转换为天、时、分、秒

Snowflake SQL:将秒数转换为天、时、分、秒格式

以下是可在Snowflake中执行的SQL查询,能将指定秒数转换为X天,X小时,X分钟,X秒的中文格式,适配示例中的输出要求:

WITH input_seconds_cte AS (
    -- 替换为你的目标秒数或字段,例如从表中读取:SELECT your_second_column FROM your_table
    SELECT 259321 AS target_seconds
)
SELECT 
    COALESCE(
        CONCAT_WS(',',
            CASE WHEN days > 0 THEN days || '天' END,
            CASE WHEN hours > 0 THEN hours || '小时' END,
            CASE WHEN minutes > 0 THEN minutes || '分钟' END,
            CASE WHEN seconds > 0 THEN seconds || '秒' END
        ),
        '0秒'
    ) AS 转换后时间
FROM (
    SELECT 
        FLOOR(target_seconds / 86400) AS days,
        FLOOR((target_seconds % 86400) / 3600) AS hours,
        FLOOR((target_seconds % 3600) / 60) AS minutes,
        target_seconds % 60 AS seconds
    FROM input_seconds_cte
);

逻辑说明:

  1. 计算各时间单位:
    • 天数:总秒数除以86400(一天的秒数)取整
    • 小时数:总秒数取余86400后,除以3600(一小时的秒数)取整
    • 分钟数:总秒数取余3600后,除以60(一分钟的秒数)取整
    • 秒数:总秒数取余60
  2. 拼接结果:使用CONCAT_WS仅拼接非空的时间单位部分(避免出现“0天”这类无效内容)
  3. 边界处理:用COALESCE处理秒数为0的情况,输出0秒

示例验证:

输入秒数259321时,查询输出为:3天,2分钟,1秒,与示例要求一致。

内容的提问来源于stack exchange,提问作者Jeyavel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 12:43:32