left join得到的结果为null,怎么设置一个默认值?

fihuang1 2010-03-17 05:14:08
将select的结果insert到另外一张表。
用了如下句型:
insert into t
select a.* left join b...
但是有个字段为number,并且不能为空。但是a left join b以后得出来的结果有的为null那肯定插入t失败。
我想让他变成数字0,请问有什么办法。
谢谢大家。
...全文
4572 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qicai841125 2010-03-26
  • 打赏
  • 举报
回复

nvl
  • 打赏
  • 举报
回复
--使用nvl函数再嵌个子查询,例:
INSERT INTO tab
(id, b1, a1)
SELECT id, nvl(b1, 0), nvl(a1, '默认值')
FROM (SELECT a.id, b.b1, a.a1 FROM a LEFT JOIN b ON a.id = b.id)
yurui05 2010-03-26
  • 打赏
  • 举报
回复
isnull decode nvl coalesce 多种函数可以解决你的问题
roylogic 2010-03-26
  • 打赏
  • 举报
回复
用nvl函数,用法如下:
select nvl(目标列,要是为null在此写出默认值) from dual;
xdy3008 2010-03-26
  • 打赏
  • 举报
回复
..... NVL
oracle_dba_11 2010-03-26
  • 打赏
  • 举报
回复
郁闷,总是慢一步
learnswift 2010-03-25
  • 打赏
  • 举报
回复
用nvl
alice鑫鑫 2010-03-17
  • 打赏
  • 举报
回复
decode,我比较喜欢用,decode(字段,null,0,字段)
vanjayhsu 2010-03-17
  • 打赏
  • 举报
回复
nvl是最简单的解决方法了
Phoenix_99 2010-03-17
  • 打赏
  • 举报
回复
NVL(字段,0)
suiziguo 2010-03-17
  • 打赏
  • 举报
回复
decode
tangren 2010-03-17
  • 打赏
  • 举报
回复
--使用nvl函数再嵌个子查询,例:
INSERT INTO tab
(id, b1, a1)
SELECT id, nvl(b1, 0), nvl(a1, '默认值')
FROM (SELECT a.id, b.b1, a.a1 FROM a LEFT JOIN b ON a.id = b.id)
wanjianjun 2010-03-17
  • 打赏
  • 举报
回复
函数
NVL(字段,0)
如果字段为null值,自动填充为0。
csuxp2008 2010-03-17
  • 打赏
  • 举报
回复
示例


insert into t
select a.col1,a.col2...isnull(a.colN,0)...
from a left join b on...

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧