将表中住址为"上海市"的员工住址改为"北京市"
update employee
set addr like '北京市'
where addr like '上海市'
这是论坛上看到的一个例句,但是我用这种方法查询,总是在like这里报错,而且,员工的地址,是上海市XXXXXXX,仅仅是改市名,为什么不是like ’北京市%’了,我这样写了,还是在like这里报错
应该怎么写啊,改一个字段的一部分内容
------解决方案--------------------
- SQL code
update employee set addr = replace(addr,'北京市','上海市')where addr like '上海市%'
------解决方案--------------------
晕 俺没看清lz需求
ls 的replace 函数中两个字符串写反了
正确的如下
- SQL code
SQL> show userUSER 为 "SCOTT"SQL> drop table test;表已删除。SQL> ed已写入 file afiedt.buf 1 CREATE TABLE test ( 2 col VARCHAR2(20) 3* )SQL> /表已创建。SQL> ed已写入 file afiedt.buf 1* INSERT INTO test VALUES ('上海市某地某地')SQL> /已创建 1 行。SQL> select * from test;COL--------------------上海市某地某地SQL> ed已写入 file afiedt.buf 1 update test 2 set col = replace(col,'上海市','北京市') 3* where col like '上海市%'SQL> /已更新 1 行。SQL> select * from test;COL--------------------北京市某地某地SQL>