这个该怎么写

wifelee 2012-02-14 11:53:47
将表中住址为"上海市"的员工住址改为"北京市"
update employee
set addr like '北京市'
where addr like '上海市'


这是论坛上看到的一个例句,但是我用这种方法查询,总是在like这里报错,而且,员工的地址,是上海市XXXXXXX,仅仅是改市名,为什么不是like ’北京市%’了,我这样写了,还是在like这里报错

应该怎么写啊,改一个字段的一部分内容
...全文
67 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinan9 2012-02-14
  • 打赏
  • 举报
回复
真相 原来有很多
mingchaoyan 2012-02-14
  • 打赏
  • 举报
回复
晕 俺没看清lz需求
ls 的replace 函数中两个字符串写反了

正确的如下
SQL> show user
USER 为 "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>


xpingping 2012-02-14
  • 打赏
  • 举报
回复

update employee  
set addr = replace(addr,'北京市','上海市')
where addr like '上海市%'
mingchaoyan 2012-02-14
  • 打赏
  • 举报
回复
update employee  
set addr = '北京市'
where addr like '上海市'
wifelee 2012-02-14
  • 打赏
  • 举报
回复
看来要用replace这个函数啊,拜谢各位大神
JS 2012-02-14
  • 打赏
  • 举报
回复
楼2、楼3正解

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧