oracle 把表中姓名为张三的改为李四.姓名为张三的在表中有多个.怎么用一条sql写出来

不好意思上面搞错了.应该是性别是男的而且名字叫张三的改为李四,性别是女的而且名字叫李四的改为张三. 字段 id,name,sex

使用case when then是可以的
update table set name = case when name='张三' and sex='男' then '李四' end,
case when name='李四' and sex='女' then '张三' end
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-08
use TableName
update TableName set PersonName='李四' where PersonName=‘张三'

TableName 为你的表名
PersonName 为 TableName 表中 姓名字段
第2个回答  2011-06-08
update tablename set name='李四' where name=‘张三';
第3个回答  2011-06-08
UPDATE TABLENAME SET FIELDNAME='李四' WHERE FIELDNAME='张三'
第4个回答  2011-06-08
update tab_name set name =
(case when sex='男' and name='张三' then '李四' when sex='女' and name='李四' then '张三' end)
没测试过,具体思路就是用case when
第5个回答  2011-06-08
UPDATE TABLE
SET LAST_NAME ='李四‘
WHERE LAST_NAME=’张三‘;

oracle 把表中姓名为张三的改为李四.姓名为张三的在表中有多个.怎么用...
使用case when then是可以的 update table set name = case when name='张三' and sex='男' then '李四' end,case when name='李四' and sex='女' then '张三' end

oracle 把表中姓名为张三的改为李四.姓名为张三的在表中有多个.怎么用...
name='张三'then '李四'when sex='女'and name='李四'then '张三'end)没测试过,具体思路就是用case when

oracle sql 实现查询时把一字符串按逗号分割,返回分割后的份数?
select length('张三,李四,王五,赵六')-length(replace('张三,李四,王五,赵六',','))+1 from dual;

oracle中用sql语句计算时间间隔并更新表
比如张三 1 2 3 4 5 李四 1 2 3 4 ,使用语句如下:select x.lev, x.姓名, to_char(出行日期, 'yyyy-mm-dd') 出行日期 from (SELECT ROW_NUMBER() OVER(PARTITION BY 姓名 ORDER BY 出行日期 DESC) LEV, r.* FROM 数据表名 r) x接下来就是查询这个表数据,然...

怎样将一个表中部分相同的数合并 oracle sql
这样的结果一个SQL是不能实现的。你看2行记录的列都不一致;你可以参考交叉表查询;create table tt(fid number,namee varchar(10),pno varchar(20));insert into tt values(100,'张三','320122');insert into tt values(100,'李四','320133');insert into tt values(200,'王五','320122')...

各位大侠,oracle sql问题,在字符串中截取姓名。
CNT) := SUBSTR(STR, I, LENGTH(STR));ELSE V_TOKENS(V_CNT) := STR;END IF;RETURN V_TOKENS;END SPLIT;V_SPLIT := SPLIT(‘张三|手机号码|地址李四|手机号码|地址王五|手机号码|地址’, '');这个方法嵌套一下就可以满足你的要求了,希望对你有帮助 ...

ORACLE SQL语句查询一个字段在另一表字段中有两条或以上 的数据
class t;4、编写sql,查询出来test_student表中在test_class表中是多条而不是单条的记录,可以看到1001、1004学生是有多条记录的,select t.student_id,count(1) a from test_student t , test_class b where t.student_id = b.student_id group by t.student_id having count(*)>1,

求高人解决SQL 中截取字符的问题
@s)-charindex(@s))--@name这个时候是:'张三 李四'declare @i int set @i=charindex(@name,' ')select left(@name,@i) as 第一名字,right(@name,len(@name)-@i) as 第二名字 --输出结果:第一名字 第二名字 --- 张三 李四 ...

SQL if 问题
IF (SELECT COUNT(1)FROM T WHERE 姓名 = '张三') > 0 UPDATE T SET 年龄 = 年龄 + 5 WHERE 姓名 = '张三' ELSE UPDATE T SET 年龄 = 年龄 + 5 WHERE 姓名 = '李四'

oracle中如何将多个查询结果在一张表中显示
可以将你的三个表的查询结果使用union all联合起来,然后使用Oracle的decode函数来查询 select 姓名,sum(decode(tbname,'表1',人数,null)) 表1人数,sum(decode(tbname,'表2',人数,null)) 表2人数,sum(decode(tbname,'表3',人数,null)) 表3人数 from (select 姓名,count(姓名) 人数,'表1...

相似回答