sql - 如何根据另一列的一部分更新列

标签 sql oracle plsql oracle-sqldeveloper

我需要使用循环或任何其他过程为同一个表中的所有记录更新同一个表中另一列的引用的一列记录。

例子:

实际:

Column1 Column2                                               
kalyan  kalyan122@gmail.com                     
arun    arun414               
mahesh  ma223ds@gmail.com                 
blog    4anyinfo

预期:

 Column1 Column2                       
 kalyan122  kalyan122@gmail.com                           
 arun414    arun414                            
 ma223ds    ma223ds@gmail.com                              
 4anyinfo   4anyinfo

注意:记录很少,column2中只有ID。

提前致谢。

最佳答案

如果是 oracle,你可以这样做:

UPDATE YourTable
SET Column1 = CASE WHEN INSTR(column2, '@')
                   THEN substring(column2,0,INSTR(column2, '@')-1)
                   ELSE column2
              END

关于sql - 如何根据另一列的一部分更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35869295/

相关文章:

sql - 提取oracle中alter语句的ddl

oracle - 如何找出甲骨文号码的位数

sql - Oracle中的Case语句,其中一种条件返回实际列

java - 在java web中使用用户类型登录

sql - sql case中如何使用Trim

oracle - 检查varchar2是否为空的正确方法是什么?

java - SQLite 按日期删除行

mysql - 在子进程中破解此 Sql 代码的指南

sql - 连接上的子查询

mysql - 计算一个字符串在 VARCHAR 字段中出现的次数?