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
posted @ 2020-12-07 12:11  云谷の风  阅读(628)  评论(0)    收藏  举报