易截截图软件、单文件、免安装、纯绿色、仅160KB

如何在oracle的sql语句中加入判断条件?

比如在数据库中更新一条数据,当fabusj为空时进行赋值,不为空时保留原来的数据。这样的sql语句该如何写?
我是要把这条语句用在jsp页面中
如:update office set fbflag='已发布',blzt='1',(fabusj=?(这个字段为空时才进行赋值)) where workflowinstance_guid=?"
nvl(要赋的值,原来的值)??

update office set fbflag='已发布',blzt='1',fabusj=nvl(fabusj,sysdate) where workflowinstance_guid=?

fabusj=nvl(fabusj,value)
用nvl,如果fabusj为null,就修改为value
如果fabusj不为null,就修改为fabusj



nvl函数我试过了,不能满足我说的条件啊

当字段fabusj=‘’时,我才会对该字段赋值,不为空的时候,该字段保留原来的值。

我在网上搜到,可以用if-else语句
但这数据库编程,我才刚用,不知道要怎么写,请大虾们想想辙

nvl应该可以实现你的要求啊
要么是有空格 要么是你没表达清楚
nvl(trim(要赋的值),原来的值) 试下


好的,我再试试。
我写的语句是这样的,不会是语句有问题吧
update office set fbflag='已发布',blzt='1',fabusj=nvl(?,(select fabusj from office where workflowinstance_guid=?)) where workflowinstance_guid=?

update office set fbflag='已发布',blzt='1',fabusj=nvl(fabusj,'为空赋值')) where workflowinstance_guid=?

update office set fbflag='已发布',blzt='1',fabusj=nvl(?,(select fabusj from office where workflowinstance_guid=?)) where workflowinstance_guid=?

楼主你这个不行 你的 ?是个占位符吧
被你搞晕啦

是个占位符

引用


相关问答:

jsp链接sql2000的疑问?



type Exception report


message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jas ......

Oracle离线访问---求助 - Oracle / 基础和管理

大家好,我现在把oracle服务器上面的原始文件,下载到本机了.我想在本机访问数据库怎么设置啊.是不是类似可以建立一个什么虚拟服务器来实现.请大家出出主意
引用
    大家好,我现在把oracle服务器上面 ......

oracle并发处理SOS - Oracle / 开发

我在开发的这个应用并发性比较高,oracle更新数据时候如何处理并发处理呢?各位大侠发表好的观点啊,在线等待!
oracle数据更新时,会自动默认行锁定,楼主不要操心,Oracle对并行处理已经很成熟了

引用
oracle ......

[原创] ORACLE 连接字串 - Oracle / 非技术区

假设table01 中有 以下资料
emp_no emp_name
------- ------------
0001 TOM
0002 JOHN
0003 MARY
常用电话 
而我们要得到以下的OUTPUT (或是各种其他的output)
0001,TOM
0002,JOHN ......

oracle 安装 01092 错误 - Oracle / 基础和管理

oracle 11g 安装 01092 错误,
日志信息:
[oracle@linux trace]$ vi alert_orcl.log 
MMON started with pid=14, OS id=9089
RESETLOGS after incomplete recovery UNTIL CHANGE 522752
Errors in file / ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号