首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
Oracle
开发
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
【求助】nvl函数使用
[已结贴,结贴人:gong_max]
加为好友
发送私信
在线聊天
gong_max
等级:
可用分等级:
中农
总技术分:
2
总技术分排名:
281888
揭贴率:
94.67%
发表于:
2008-08-21 10:34:31
楼主
有一张表tableA有以下字段
f_id,f_sbm,f_sbip,f_bz(char型)
其中f_bz字段是可为空的,所以查询的时候我使用nvl函数给它显示一个值。
select nvl(f_bz,'test') from tableA where f_id = 6
但是这条语句的执行结果显示,f_bz字段还是为空。并且我把这条语句放到pl/sql块中发现还是报‘未找到数据’这个错误。这是什么原因,大家帮帮忙。
问题点数:
20
回复次数:
13
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hebo2005
C'est la Vie
等级:
可用分等级:
掌柜
总技术分:
17096
总技术分排名:
792
3
2
发表于:
2008-08-21 10:41:02
1
楼 得分:
10
可能不是NULL,有空格或者换行之类的
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
gong_max
等级:
可用分等级:
中农
总技术分:
2
总技术分排名:
281888
发表于:
2008-08-21 10:41:36
2
楼 得分:
0
对不起,说错了。
select f_id,f_sbm,f_bz from tableA where f_id = 6;查询这条语句是有记录的。只不过f_bz字段为空。
但是修改之后
select f_id,f_sbm,nvl(f_bz,'hehe') from tableA where f_id = 6
这条语句的查询结果和上条语句是一样的。这是为什么
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
gong_max
等级:
可用分等级:
中农
总技术分:
2
总技术分排名:
281888
发表于:
2008-08-21 10:45:32
3
楼 得分:
0
引用 1 楼 hebo2005 的回复:
可能不是NULL,有空格或者换行之类的
对啊,我怎么没考虑到这种情况。谢谢
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
fxianxian
風一樣的男子
等级:
可用分等级:
富农
总技术分:
2134
总技术分排名:
10017
发表于:
2008-08-21 10:56:19
4
楼 得分:
0
你的TABLEA中没有f_id = 6这条记录!
你或者把你的语句改一下啊!
select nvl(max(f_bz),'test') from tableA where f_id = 6
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
kaoziji
靠自己
等级:
可用分等级:
小地主
总技术分:
2141
总技术分排名:
9899
发表于:
2008-08-21 14:59:06
5
楼 得分:
0
用length(f_bz)确认一下内容的长度
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hhfwyl
猴吼
等级:
可用分等级:
贫农
总技术分:
78
总技术分排名:
102907
发表于:
2008-08-21 16:36:11
6
楼 得分:
0
欢迎加入oracle qq群9701750
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
rockywu
吃一贴,长一智
等级:
可用分等级:
富农
总技术分:
1651
总技术分排名:
12565
发表于:
2008-08-22 10:12:32
7
楼 得分:
0
引用 3 楼 gong_max 的回复:
引用 1 楼 hebo2005 的回复:
可能不是NULL,有空格或者换行之类的
对啊,我怎么没考虑到这种情况。谢谢
LZ已考虑到了.....还有也可像LS 用length得到长度判定一下.......
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
fzm2008
高山
等级:
可用分等级:
贫农
总技术分:
19
总技术分排名:
188052
发表于:
2008-08-22 17:14:40
8
楼 得分:
0
length() 判断一下
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
sulins
晓林
等级:
可用分等级:
掌柜
总技术分:
884
总技术分排名:
21345
发表于:
2008-08-23 13:33:30
9
楼 得分:
10
注意:f_bz(char型)
解决方法:使用trim函数。
SQL语句:
SQL code
select
nvl(trim(f_bz),
'
test
'
)
from
tableA
where
f_id
=
6
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
parellax
Alen_L
等级:
可用分等级:
长工
总技术分:
57
总技术分排名:
123141
发表于:
2008-08-25 16:22:24
10
楼 得分:
0
或者前面都加一个别名, nvl(a.max(f_bz),'test') max
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
parellax
Alen_L
等级:
可用分等级:
长工
总技术分:
57
总技术分排名:
123141
发表于:
2008-08-25 16:23:07
11
楼 得分:
0
或者前面都加一个别名, nvl(max(a.f_bz),'test') f_bz
前面写错了,,sorry...
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
wind__dance
等级:
可用分等级:
中农
总技术分:
49
总技术分排名:
129005
发表于:
2008-08-25 16:27:36
12
楼 得分:
0
有这么多高手,应该解决了吧?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Maozhj
王的人妖
等级:
可用分等级:
贫农
总技术分:
149
总技术分排名:
71285
发表于:
2008-08-26 10:12:24
13
楼 得分:
0
引用 9 楼 sulins 的回复:
注意:f_bz(char型)
解决方法:使用trim函数。
SQL语句:
SQL code
select nvl(trim(f_bz), 'test')
from tableA
where f_id = 6
这个不错,简洁明了。
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友