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 (510005'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
原文地址:https://www.cnblogs.com/zeon/p/14096426.html