MySQL 如何从整个列的值中删除特定的前缀并更新它们
可以通过在列上应用TRIM()函数以及MySQL UPDATE语句来完成。下面的示例将使其更清晰。
阅读更多:MySQL 教程
例:
假设我们有一个名为“Employee”的表,其中所有Column ‘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);
查询 OK,5 行受影响 (0.10 sec)
匹配的行: 5 改变: 5 警告: 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.’。
极客教程