我有一张桌子,我正在试着清理.有一张名为Persons的表格.在PhoneNumber列中,有时会包含"(Work)"或"(Home)"等数据.它是不一致的,可以包括在数字之前或之后,如"(Home)111-555-3354"或"111-555-2345(Home)".

有没有一种方法可以只提取每个字段的电话号码部分,例如与"Like#-#-#"结合使用.

然后,我应该能够用这个SELECT子句插入和替换值.

推荐答案

您可以使用Mid function in MS Access来完成此操作,如下所示:

MID函数返回包含指定数字的变量(字符串 字符串中的字符.

SELECT Mid(PhoneNumber, InStr(PhoneNumber, "-") - 3, 12) AS CleanedPhoneNumber
FROM Persons
WHERE PhoneNumber Like "*###-###-####*";

对于以下电话号码;

(Home) 111-555-3354
111-555-2345 (Home)
112-524-5632 (Work)
112-652-6354 (Work)

输出将为:

111-555-3354
111-555-2345
112-524-5632
112-652-6354

Sql相关问答推荐

如何查询一个名称是根据PL/pgSQL函数结果构建的表?

PostgreSQL:获取每家店铺收入最高的员工

PostgreSQL:如果发现多行具有相似列值,则跳过 Select 行

使用来自不同深度的嵌套组的值执行计算的干净方法?

BigQuery-当子查询不返回任何结果时,所有结果为零

了解放置时的连接

按分隔符和总和分析字符串

使用列表作为参数进行 Select ,如果为空,则在PostgreSQL中不使用参数进行 Select

使用generate_series()时,LEFT联接缺少日期/间隔

Redshift PL/pgSQL循环中的参数化列名

具有多个条件的SQL否定

HAVING子句内部过滤的正确方法

Postgresql - 如何根据阈值计算累积和

snowflake中的动态文件名生成

如何在 postgres 中旋转某些数据字段

PostgreSQL如何将Unix纪元时间戳转换为日期时间并进行拼接

MS ACCESS 错误插入 X(...) 从 A 联合 Select ... 从 B

Oracle SQL 从多个条件中 Select 但具有相同的 id

SQL - 使用子查询返回多行的 LIKE 命令

在 AWS athena 的视图之上创建视图时,如何消除此错误:列别名列表有 1 个条目但t有 4 列可用?