本题链接
表结构如下所示。
+----+--------+-----------------+------------+------------+
| 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/607018/
转载文章受原作者版权保护。转载请注明原作者出处!