linghe
路人甲
路人甲
  • 注册日期2004-06-04
  • 发帖数20
  • QQ
  • 铜币102枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2394回复:2

[求助]一个SQL update 的问题

楼主#
更多 发布于:2006-07-04 22:05
请教一个问题<BR>我有一个表(table)<BR>表头为NO
<P>表结构如下</P>
<P>NO                 NO<BR>1                 北京<BR>1 --------〉变成  北京<BR>2                 上海<BR>3                 天津<BR>我想用一个update语句让1=北京,2=上海,3=天津<BR>请问怎么用一个SQL语句实现全部的转换</P>
<P>如果我用一个SQL语句  转化北京 就是<BR>update table set NO='北京'where NO='1' </P>
<P>然后我还要再用一个语句转化上海</P>
<P>这样如果种类多得话 就比较麻烦</P>

<P>我的目的就是用一句话能不能全部转化</P>
<P>就用上面的那个例子吧</P>
<P>多谢了</P>
<P><BR> </P>
喜欢0 评分0
du2008
路人甲
路人甲
  • 注册日期2004-10-09
  • 发帖数5
  • QQ
  • 铜币116枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-09-09 21:07
在oracle中可以使用case 语句
举报 回复(0) 喜欢(0)     评分
du2008
路人甲
路人甲
  • 注册日期2004-10-09
  • 发帖数5
  • QQ
  • 铜币116枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2006-09-09 21:18
<P><BR>D:\oraclexe\app\oracle\product\10.2.0\server\BIN>net start OracleXETNSListener<BR>OracleXETNSListener 服务正在启动 .<BR>OracleXETNSListener 服务已经启动成功。</P>
<P><BR>D:\oraclexe\app\oracle\product\10.2.0\server\BIN>net start OracleServiceXE<BR>OracleServiceXE 服务正在启动 ...............<BR>OracleServiceXE 服务已经启动成功。</P>
<P><BR>D:\oraclexe\app\oracle\product\10.2.0\server\BIN>sqlplus <a href="mailtsde/sde@xe" target="_blank" >sde/sde@xe</A></P>
<P>SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 9月 9 21:10:09 2006</P>
<P>Copyright (c) 1982, 2005, Oracle.  All rights reserved.</P>
<P><BR>连接到:<BR>Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production</P>
<P>SQL> create table test(no varchar2(10));</P>
<P>表已创建。</P>
<P>SQL> insert into test values ('a');</P>
<P>已创建 1 行。</P>
<P>SQL> insert into test values ('b');</P>
<P>已创建 1 行。</P>
<P><BR>SQL> update test set no=(case no when 'a' then '1' when 'b' then '2' else '0' en<BR>d );</P>
<P>已更新2行。</P>
<P>SQL> select * from test;</P>
<P>NO<BR>--------------------<BR>1<BR>2</P>
<P>SQL></P>
<P>使用decode函数也可以<BR></P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部