【发布时间】: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