replace函数——SQL
示例:
将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现,直接使用update会报错了。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
CREATE TABLE titles_test ( id int(11) not null primary key, emp_no int(11) NOT NULL, title varchar(50) NOT NULL, from_date date NOT NULL, to_date date DEFAULT NULL);insert into titles_test values('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');
|
考查的是replace函数,REPLACE(X,Y,Z)
其中包含三个参数,
第一个参数为该字段的名称,第二参数为该字段的需要被修改值,第三个参数为该字段修改后的值。
update titles_test set emp_no = replace(emp_no,10001,10005) where id = 5
REPLACE 有两种解法
方法一:全字段更新替换
示例:
|
1
|
REPLACE INTO titles_test VALUES (5, 10005, 'Senior Engineer', '1986-06-26', '9999-01-01') |
方法二:运用REPLACE(X,Y,Z)函数,
UPDATE和REPLACE 配合完成
|
1
|
UPDATE titles_test SET emp_no = REPLACE(emp_no,10001,10005) WHERE id = 5 |

浙公网安备 33010602011771号