题解 | #将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005#
将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
http://www.nowcoder.com/practice/2bec4d94f525458ca3d0ebf3bc8cd240
第一次接触 replace 关键字,看了下网上的语法:
REPLACE(String,from_str,to_str) 即:将String中所有出现的from_str替换为to_str
第一次写出来的 sql 语句:
select id,
replace(emp_no,10001,10005) as emp_no,
title,from_date,to_date
from titles_test
where id =5;
错误× ,主要是这个语句相当于模拟了最后查表过程,是在这一步进行的替换,而题目校验答案的时候,肯定还要查表的,而表本身的字段并没有被替换,所以,对表进行更新,替换掉 emp_no 字段的值,即 使用 update 必不可少:
update titles_test
set emp_no=replace(emp_no,10001,10005) where id=5