在 MySQL 中如何移除整列中的特定前缀并更新这些行?


可以通过将 `TRIM()` 函数与 MySQL `UPDATE` 语句一起应用于列来实现。下面的示例将使它更加清晰。

示例

假设,我们有一个表“Employee”,它在列“Department”的所有值前都有前缀“Dept.”,如下所示 −

mysql> Select * from Employee;
+------+----------------+------------+----------------------+
| Id   | Name           | Address    | Department           |
+------+----------------+------------+----------------------+
| 100  | Raman          | Delhi      | IT Dept.             |
| 101  | Mohan          | Haryana    | History Dept.        |
| 102  | Shyam          | Chandigarh | ENGLISH Dept.        |
| 103  | Sukhjeet Singh | Patiala    | Computer Engg. Dept. |
| 104  | Bimal Roy      | Calcutta   | Computer Engg. Dept. |
+------+----------------+------------+----------------------+
5 rows in set (0.01 sec)

现在,下面的查询将从列 `Department` 中删除前缀 `Dept.`,并且还会更新表。

mysql> Update Employee set Department = TRIM(Trailing 'Dept.' FROM Department);
Query OK, 5 rows affected (0.10 sec)
Rows matched: 5 Changed: 5 Warnings: 0

mysql> Select * from Employee;
+------+----------------+------------+-----------------+
| Id   | Name           | Address    | Department      |
+------+----------------+------------+-----------------+
| 100  | Raman          | Delhi      | IT              |
| 101  | Mohan          | Haryana    | History         |
| 102  | Shyam          | Chandigarh | ENGLISH         |
| 103  | Sukhjeet Singh | Patiala    | Computer Engg.  |
| 104  | Bimal Roy      | Calcutta   | Computer Engg.  |
+------+----------------+------------+-----------------+
5 rows in set (0.00 sec)

上面的结果集显示列值中没有前缀“Dept.”。

更新于: 06-Feb-2020

1K+ 浏览

开启你的职业

完成课程以获得认证

开始使用
广告
© . All rights reserved.