sql - 如何用另一个字符串替换字符串列中的字符?
问题描述
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 小时
解决方案
你正在寻找这样的东西:
select '10.2', replace('10.2','.',' Days ')+' Hours'
或您的查询:
select replace(YourDataColumn,'.',' Days ')+' Hours' AS lenghtofstay
推荐阅读
- puppet - 木偶复制msi,安装删除一次
- sql - oracle表中如何从多个分区中选择数据
- apache-spark - spark.sql.shuffle.partitions 到底指的是什么?
- javascript - ScrollReveal() 有一些问题
- git - Gitignore 忽略一切,即使我已经做出了例外
- ios - 无法在 UILabel 中显示数组数据的新行
- dns - 每个人都可以在同一时间注册新的域名吗?
- botframework - 在 VS2017 中使用 Azure function bot 解决方法不起作用
- python - Python - 重命名附加文件中的文件名
- angular - Ionic 4 Form Group 带芯片