首页 > 解决方案 > 如何用另一个字符串替换字符串列中的字符?

问题描述

SQL查询:

SELECT
    adm_no,
    p.patient_id,
    patient_fname,
    patient_lname,
    to_char(round(( adm_discharge - adm_date_time ),1)) AS lenghtofstay
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;

输出

adm_no | patient_id | patient_fname | patient_lname | lengthofstay
-------+------------+---------------+---------------+-------------
100010 | 100110     | Abra          | Baltzar       | 7.1

现在我希望输出将 7.1 显示为 7 天零 1 小时

标签: sql

解决方案


你正在寻找这样的东西:

select '10.2', replace('10.2','.',' Days ')+' Hours'

或您的查询:

select replace(YourDataColumn,'.',' Days ')+' Hours' AS lenghtofstay 

推荐阅读