在 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.