oracle数据插入的某个字段的判断 5C

两个表ta和tb
将tb中的数据插入ta中,
insert into ta (name, sex, age, xx)
select name, sex,age ,(xx的值)

from tb
where
tb.name = ...
关于xx的值,根据tb表中的字段yy来确定,如果yy为空,xx为1, 如果yy飞空, xx为2
xx的值那一块代码应该怎么写,多谢

5个回答

使用Oracle自带的NVL2函数最简单
insert into ta (name, sex, age, xx)
select name, sex,age ,nvl2(yy,2,1)
from tb
where
tb.name = ...

函数说明:
nvl2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。

insert into ta (name, sex, age, xx)
select name, sex,age ,case when tb.yy is null then 1 else 2 end

from tb
where
tb.name = ...

qq_33338806
qq_33338806 NVL2(yy, 2, 1) NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。
大约一年之前 回复

两个表ta和tb
将tb中的数据插入ta中,
insert into ta (name, sex, age, xx)
select name, sex,age ,(xx的值)

from tb
where
tb.name = ...
关于xx的值,根据tb表中的字段yy来确定,如果yy为空,xx为1, 如果yy飞空, xx为2
xx的值 可以用 decode (yy,null,'1','2')
你可以找下decode 函数

wangzhengziyu
最迟半小时 这样写不对的吧,你用=null是不能获取到数据的,null在数据库中是特殊字段要用is null进行判断的
大约一年之前 回复

case when then,解决这个很合适

NVL2(yy, 2, 1) NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
mysql 插入数据,若存在则更新某一字段
数据库中t_record表结构如下: 记录如下: 现在前台用户浏览问题之后,记录浏览行为,若用户id+问题id已存在,则更新时间戳为当前时间。 mysql中用法如下: insert into t_record(record_uid,record_pid,record_time) values (35,10,now()) on duplicate key update r
如何判断Oracle中某个字段的值是否重复
select 字段A,count(*) from 表名 group by 字段A该语句可以检测出,字段A有几个值,重复了多少次。在下面的例子中,字段A取的值为9、7、1、2、3,分别重复的次数count(*)所示。
mongodb不存在某个字段时,插入该字段
var time= new Date("2013/2/28"); db.biao.update({"date": { $exists: false }}, {$set: {"date": time}},false,true) $exists: false      false表示不存在 这句话意思是,所有数据中,如果不存在date这个字段时,就加一个date字段,值为time
mysql 触发器 监听这个表插入时增加数据 在某字段变动时进行触发
mysql 触发器 监听这个表插入时增加数据 在某字段变动时进行触发
List添加Item时, 如何去判断某个字段, 并且保证字段数据不重复性
来自与微软专家Liang Ming的讨论SharePoint中如何使得用户不能通过对WSS的List中添加或修改使得某个指定字段存在重复数据。并需要尽可能满足以下需求:  1)   希望解决方案比较简单,并且易于部署(客户希望在30分钟内能完成部署)2)   希望在部署过程中不需要重新编译任何工程3)   有一定的通用性,不能针对一个特定的List开发一个组件-------------------
oracle 插入一个从别处查询获得字段的值
一个表tb_inst_id_newold,是要往这个表里插入数据,里面有5个字段:new_inst_id,old_inst_id,last_modify_tlr_id,last_modify_prg_id,last_modify_t。前面的new_inst_id和old_inst_id的值是从另一个表tb_inst_id_newold_tmp表里的new_inst_id和old_inst_id来的
Access中判断一个表中某个字段是否存在,以及添加字段
因为要做软件升级,数据库的字段有变化。所以要判断Access中一个字段是否存在,如果不存在就增加。 以下是参考http://topic.csdn.net/t/20021119/11/1188678.html Brunhild的解决方案,我又重写了一下。 private bool checkField(String sTblName, String sFldName)
判断sql中是否存在某个数据,不存在就添加数据
USE OperAllowDB IF NOT EXISTS ( SELECT * FROM OperAllowDB.dbo.TCustomConfig WHERE ConfigCode = '1007' ) BEGIN INSERT INTO dbo.TCustomConfig ...
判断表中是否存在某个字段(列),不存在就添加
USE CCMPDB GO IF NOT EXISTS ( SELECT * FROM syscolumns WHERE id = OBJECT_ID('TContract') AND name = 'Contract_contractType' ) BEGIN ...
mysql中根据插入的记录判断是否需要是插入还是更新
insert into t_user(account,password,SessionId,Coins) values('hz2b','hz3b','1234562',2) on duplicate key update SessionId='aaccdddcccccc' 这条语句是要保证有一个主键account然后如果插入数据库已经有跟account一样的记录了就会更新后面要更新的字段了
oracle插入之前判断是否存在
insert when (not exists (select DEPT_ID from T_JY_WX_DEPT where DEPT_ID = ?)) then into T_JY_WX_DEPT (DEPT_ID,DEPT_NAME,PROJECT_ALIAS,PARENT_ID) values(?,?,?,?) select ? from dual
oracle sql 判断字段非空,数据不重复,插入多跳数据
oracle sql 判断字段非空,数据不重复 select distinct(mobile) from wx_user_mobile where active_time is not null
判断数据库某字段是否存在
本文由 书画小说软件 整理发布 内容与本软件无关 更惬意的读、更舒心的写、更轻松的发布 --判断是否存在 if exists(select 1 from master..sysdatabases where name='TestDB')     print 'TestDB存在' else     print 'TestDB不存在'           --判断表是否存在 if e
mybatis 动态插入数据 某些字段无值
INSERT INTO bx_line_preference  line_id,nike_id,departure,destination, return_place,departure_time,arrval_time,price,   //下面4个字段根据用户输入插入值 bed_single, bed_double, bed_big,
mongodb 某个字段是否存在
题目描述 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 解题思路: 初始化一个数组和3个队列。 s加入1, 三个队列q1,q2,q3分别加入2,3,4。 当我们需要下一个丑数时,取q1,q2,q3中最小的队首元素出列,为x,把x加入到数组s中。 如果x...
mysql如何判断指定字段数据不重复
mysql如何判断指定字段数据不重复方法一: 一句sql解决insert into 表名(待插入字段1,待插入字段2,...,待插入字段n) select '张三','1',...,'袜子' from 表名 a where not exists(select 1 from 表名 b where b.判断条件字段1='张三' and b.判断条件字段2='1' and 判断条件字段n='2353117
mybatis 插入字段为空的处理
若待插入字段可能为空,则my
oracle+mybatis 使用动态Sql在要insert的字段不确定的情况下实现批量insert
最近做项目遇到一个挺操蛋的问题,由于业务的关系,DB的数据表无法确定,在使用过程中字段可能会增加,这样在insert时给我造成了很大的困扰。先来看一下最终我是怎么实现的: <![CDATA[ INSERT INTO tg_fcst_lines(${lineColumn}) select result.*,sq_fcst_lines.nextva
oracle sql通过判断条件更新数据库某个字段的值内容
在工作中,出现了一个简单的问题,就是按照一定的规律将oracle数据库里面的字段值进行处理和更新,现写了以下代码进行实现,特此记录下来,以备后用: update t_cure_plan a set (inject) = ( select case when inject='第一针' then '1' when inject='第二针' then '2' when inject='第三针' the
mysql在某一字段后面添加新字段
<br />ALTERTABLE`test`ADD`anyField`TEXTNOTNULLAFTER`id`
oracle使用TRIGGER在insert数据时往某个字段塞值
上周看项目时,发现一个项目的订单编号不是在java代码中生成的,当时对TRIGGER不熟,没有在TRIGGER找,后来问老大,老大说是在TRIGGER生成的。。。你妹!找到后我好想问问以前的开发人员为什么这样生成。。。不说了,记录知识点。 oracle创建TRIGGER  CREATE OR REPLACE TRIGGER "TRI_BEF_INS_ORDER" BEFORE INSE
sql判断表、字段是否存在
1、判断一个表是否存在 语法: SELECT table_name FROM information_schema.TABLES WHERE table_name ='表名'; sql例子: SELECT table_name FROM information_schema.TABLES WHERE table_name ='t_iov_vehicle_owner_info' 存在:
mongo 条件判断某个field是不是存在的$exists
参考文档   https://docs.mongodb.com/manual/reference/operator/query/exists/ eg: db.getCollection('sid_info').find({'field1':{$exists:false},'filed2':{$exists:false},'field3':{'$ne':'value3'}})
关于MongoDB中如何做到对已有数据插入时更新字段,不存在时则插入新的Document
背景需求: * 比如我们有这样一个需求,有两个excel中的数据,需要插入到数据库中,这个两个excel中的数据有些字段都是一样的,比如本例所写的,电台名称是一样的,省市县也是一样的,而不一样的是波段是调频(FM) 调幅(AM). * ` 这里普及一下:AM 调幅,中波 FM 调频,微波 代表广播电台发射信号使用的技术和接收设备(收音机)接受的制式. 微波传输,信号质量高,传输成本低
ORACLE数据字典及介绍
ORACLE数据字典 oracle数据字段介绍PDF
演示了通过存储过程来获取某个字段的值,并对该字段值进行了判断
 表结构定义为USE [test]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[Students](    [ID] [int] IDENTITY(1,1) NOT NULL,    [Name] [nvarchar](50) COLLATE Chinese_PRC_CI
Mybatis 实现Mysql批量插入数据,判断数据是否存在
常见插入数据的SQL insert into 插入数据库时会检查主键是否存在,存在会报错 replace into 替换数据库记录,需要表中有主键或者unique索引,如果数据库已存在的数据,会先删除该数据然后新增。不存在的数据效果和insert into 一样。 &amp;lt;insert id=&quot;insertInfoBatch&quot; parameterType=&quot;java.util.Li...
tp5 数据库 字段 判断是否为null
'dwRuleGroupID'=&amp;gt;['exp','is null'],
mysql查询是否存在某条记录,不存在则插入,存在则更新
在工作中,会遇到这样的情形,查询数据库中是否存在一条记录信息,如果不存在则插入一条新的信息,如果存在,则更新已有的信息。 面对这样的需求,之前采用的是先读取一遍数据库,判断是否有数据,如果没有则插入一条新信息,如果有,则更新已有信息,但是这种做法在高并发情况下可能存在多个线程查询时都没有数据,于是都往数据库中插入新的记录,在插入时则会抛出异常(说该信息已在数据库中)。 后来发现
如何判断某个字段中是否完整包含某一字符串
问题描述: 数据库字段中有一个字段保存了一个id串,用逗号分割,例如:11,123,1234,7,77,777 请问如何判断上面的例子中是否包含“12”这个id? 误区: 使用instr()函数直接判断12在该字段中的位置 eg:instr(COLNAME,'12')>0 但是我想要的是包含id=12的数据,此时会将123也搜索出来,显然掉坑了。。。。 正确的使用方式:
oracle数据库自动屏蔽特定的字段触发器
新建触发器,sql语句如下: create or replace trigger 触发器名称   before INSERT   ON 数据库表名   FOR EACH ROW DECLARE   BEGIN    :new.数据库表名:=replace(:new.数据库表名,'要屏蔽的内容','替换成的字段,若不需要替换此字段置空');   END;
同表两个字段二选一查询mysql中如何判断某一个字段是否存在某一个值
可以用 select count(*) from table where username ='dpstill'; 查询的结果=0 就不存在 >0 就存在 如果要用其他结果返回的话,可以用下面的 select case when COUNT(*)>0 then '存在' when count(*)=0 then '不存在' end from table where usernam
sql 根据某个字段的条件 选择获取字段
sql 根据某个字段的条件 选择获取字段/** * 根据餐厅id 获取指定时间指定状态订单的信息 * @author luo */ public function getstoreallorder($rid,$starttime,$endtime,$state=5,$where='') { // p($rid); //
判断记录是否存在,取某个特定字段值,取多个字段值
Delphi,判断记录是否存在,取某个特定字段值,取多个字段值 自己工作总结,逐步增加
Sql中CHARINDEX用法---判断数据库某个字段是否包含某个字符
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )      expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000 。  expressionToSearch :用于被查找的字符串。      start_location:开始查找的位置,为空时默认从第一位开始查找。通...
oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert
最近做项目遇到一个挺纠结的问题,由于业务的关系,DB的数据表无法确定,在使用过程中字段可能会增加,这样在insert时给我造成了很大的困扰。 先来看一下最终我是怎么实现的:          INSERT INTO tg_fcst_lines(${lineColumn})     select result.*,sq_fcst_lines.nextval from(     ]]> 
判断json数据中是否含有某个字段
在做手机端app的时候,需要用ajax技术给后端人员传输json,或者解析后端人员的json数据;通常会碰到这么个情况,就是想知道这个json中有没有我需要的字段。然后根据这个做下一步的操作,比如讲json数据展示到html页面上; 1.通常此时会想到用判断json串的长度的方法,如果其长度小于1,则代表其没有这个字段。但这中有个问题,那就是在pc端浏览器测试时会出现js报错提示;   fun
oracle判断表中的字段是否存在,表在数据库中是否存在
SELECT COUNT(*) FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'aaaa' AND COLUMN_NAME = 'bbb' 这个语句是判断aaaa表中bbb字段是否存在,如果存在 count的结果就是1,如果不存在当然就是0了   SELECT count(*) FROM USER_OBJECTS WHERE OBJECT_NAME = U
js中判断返回的json字符串中是否有某个字段
比较常用且安全的两种方法: 1.obj.hasOwnProperty("key") 2.!("key" in obj)
数据库 Navicat for MySQL 换种思维解决插入同时更新数据
这篇文章是我的学生在实际项目中遇到的一个案例,在对某张表插入数据过程中,某些特定的字段需也要进行更新,比如说部门编号在前端插入,而部门名称在插入时应该自动更新,如果前端设置选择编号又选择部门就重复功能了,那么数据库怎么实现呢?         最早学生想通过触发器实现,设置一个插入触发器,插入的同时更新数据,但是问题来了,在同一张表中,触发器是不能同时插入又更新的。这篇文章主要讨论这个问题的解决
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件