当前位置: 代码迷 >> Oracle管理 >> 这个该如何写
  详细解决方案

这个该如何写

热度:85   发布时间:2016-04-24 05:35:35.0
这个该怎么写
将表中住址为"上海市"的员工住址改为"北京市"
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>
  相关解决方案