SQL44 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005

本题链接
表结构如下所示。

+----+--------+-----------------+------------+------------+
| id | emp_no | title           | from_date  | to_date    |
+----+--------+-----------------+------------+------------+
|  1 |  10001 | Senior Engineer | 1986-06-26 | 9999-01-01 |
|  2 |  10002 | Staff           | 1996-08-03 | 9999-01-01 |
|  3 |  10003 | Senior Engineer | 1995-12-03 | 9999-01-01 |
|  4 |  10004 | Senior Engineer | 1995-12-03 | 9999-01-01 |
|  5 |  10001 | Senior Engineer | 1986-06-26 | 9999-01-01 |
|  6 |  10002 | Staff           | 1996-08-03 | 9999-01-01 |
|  7 |  10003 | Senior Engineer | 1995-12-03 | 9999-01-01 |
+----+--------+-----------------+------------+------------+

如果仅仅是更新数据,只需使用一条UPDATE语句即可:

UPDATE titles_test
SET emp_no = '10005'
WHERE id = 5;

但本题限定必须使用REPLACE()函数,实质上是为了考察对该函数的理解。
该函数的用法请参见这里:SQL51 查找字符串中逗号出现的次数
至此,给出本题在使用了REPLACE()函数之后的解:

UPDATE titles_test
SET emp_no = REPLACE(emp_no, 10001, 10005) # 存在从int到string的隐式转换
WHERE id = 5;

Original: https://www.cnblogs.com/a-tester/p/16016207.html
Author: ATester
Title: SQL44 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/684990/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球