【问题标题】:How do I replace a character in a string column with another string? [closed]如何用另一个字符串替换字符串列中的字符? [关闭]
【发布时间】:2021-12-01 21:50:54
【问题描述】:

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 小时

【问题讨论】:

  • 看看STUFFREPLACE
  • 提问时,您需要提供minimal reproducible example: (1) DDL 和样本数据填充,即 CREATE 表加上 INSERT T-SQL 语句。 (2) 你需要做什么,即逻辑和你的代码尝试在 T-SQL 中实现它。 (3) 期望的输出,基于上述#1 中的样本数据。 (4) 您的 SQL Server 版本 (SELECT @@version;)。
  • 你的问题还不清楚; stay_period 是小数还是字符串?您是显示 3 行的值还是单行以逗号分隔的字符串??
  • @VanshSirohi 请编辑您的问题以添加更多详细信息,而不是添加为 cmets。
  • TO_CHAR?您确定您使用的是 SQL Server 吗?

标签: sql


【解决方案1】:

您正在寻找这样的直截了当的东西:

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

或您的查询:

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

【讨论】:

  • to_char 不是 SQL Server 中的内置函数。你的单引号也不正确。
  • 我只是复制了他的示例查询,不是为了修复他的查询,而是为了显示要添加的内容。
猜你喜欢
  • 2020-01-27
  • 2019-05-14
  • 2021-06-15
  • 1970-01-01
  • 1970-01-01
  • 2013-12-03
  • 2015-01-26
  • 1970-01-01
  • 2017-01-28
相关资源
最近更新 更多