易截截图软件、单文件、免安装、纯绿色、仅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=?

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

是个占位符

引用


相关问答:

Asp+sql server问题 - Web 开发 / ASP

我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例: ......

java怎么连接Oracle,急啊 - Java / Java相关

private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String USERNAME = "sys";
private static final String PASSWORD = "s ......

sql小小的疑问 - .NET技术 / C#

可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......

求一sql语句 - MS-SQL Server / 疑难问题

现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......

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号