【问题标题】:How to get the specified string in a sentence如何在句子中获取指定的字符串
【发布时间】:2021-01-02 19:26:46
【问题描述】:

我有一个注释部分,其中包含我只想获取患者姓名的患者姓名和患者编号。我尝试使用 CHARINDEX 函数,但能够获取名称以及最后写入的电话。如何尝试删除最后 5 个字符或优化以仅从列中获取名称?

输入:

Note
Patient Name: John Mathews Phone Number: 1234567890

所需输出: John Mathews

目前,我正在使用以下 SQL 查询来获取输出:

    SELECT SUBSTRING(Note, CHARINDEX(':', Note)
    , CHARINDEX('Phone',Note) - CHARINDEX('Name', Note))

我收到的输出是:

输出:John Mathews Phone

我想删除电话部分,我尝试了各种方法,但无法找到合适的解决方案。 有人可以帮我在不使用另一个子字符串来查找长度并从末尾删除它的情况下,我应该在哪里对同一个函数进行更改?

【问题讨论】:

  • 您已标记 MySQL 和 SQL Server - 请更正。数据库设计的好课,正确地将信息构造成列,不要在同一列中保存多个信息。
  • 在应用程序的编程语言中加载数据和提取所需值的替代方法。结构化查询语言旨在检索结构化数据(表、行和列),而不是搜索文本。 ;)

标签: sql sql-server substring


【解决方案1】:

根据您的样本数据和描述,患者姓名始终从位置 15 开始。这使得这相当简单:

select substring(v.note, 15, charindex('Phone Number:', note) - 16)

【讨论】:

    猜你喜欢
    • 2015-01-20
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    相关资源
    最近更新 更多