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

SQL如何替换字符串列字符并将数值时长转为X天X小时格式

解决方案

核心逻辑:两个日期字段相减得到的差值单位为天,拆分整数部分为天数,再按需求换算/提取小时部分,拼接为指定格式即可,以下为不同场景的实现方案:

方案1:按实际时间换算(0.1天=2.4小时,四舍五入取整)

适用于需要真实反应住院时长的场景,以PostgreSQL为例(与原SQL语法兼容):

SELECT
    adm_no,
    p.patient_id,
    patient_fname,
    patient_lname,
    -- 拆分天和小时拼接输出
    CONCAT(
        FLOOR(adm_discharge - adm_date_time)::INT,
        '天',
        ROUND( (adm_discharge - adm_date_time - FLOOR(adm_discharge - adm_date_time)) * 24 )::INT,
        '小时'
    ) AS lengthofstay
FROM admission ad JOIN patient p ON ad.patient_id = p.patient_id
WHERE ( adm_discharge - adm_date_time) > (select avg(adm_discharge - adm_date_time)
                                          from admission) 
AND adm_discharge IS NOT NULL
ORDER BY adm_no;

方案2:直接拆分原小数格式(7.1直接输出7天1小时)

完全匹配你举例的转换规则,把保留1位小数的结果直接按小数点拆分拼接:

SELECT
    adm_no,
    p.patient_id,
    patient_fname,
    patient_lname,
    CONCAT(
        SPLIT_PART(to_char(round(( adm_discharge - adm_date_time ),1)), '.', 1),
        '天',
        SPLIT_PART(to_char(round(( adm_discharge - adm_date_time ),1)), '.', 2),
        '小时'
    ) AS lengthofstay
FROM admission ad JOIN patient p ON ad.patient_id = p.patient_id
WHERE ( adm_discharge - adm_date_time) > (select avg(adm_discharge - adm_date_time)
                                          from admission) 
AND adm_discharge IS NOT NULL
ORDER BY adm_no;

MySQL适配版本

如果使用MySQL数据库,可以用以下写法直接按实际小时数拆分计算:

SELECT
    adm_no,
    p.patient_id,
    patient_fname,
    patient_lname,
    CONCAT(
        FLOOR(TIMESTAMPDIFF(HOUR, adm_date_time, adm_discharge)/24),
        '天',
        MOD(TIMESTAMPDIFF(HOUR, adm_date_time, adm_discharge), 24),
        '小时'
    ) AS lengthofstay
FROM admission ad JOIN patient p ON ad.patient_id = p.patient_id
WHERE TIMESTAMPDIFF(HOUR, adm_date_time, adm_discharge)/24 > (select avg(TIMESTAMPDIFF(HOUR, adm_date_time, adm_discharge)/24) from admission)
AND adm_discharge IS NOT NULL
ORDER BY adm_no;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:24:03