记录oracle数据库单独给某个字段默认初始值【详细】

前因:突然项目中给我说新加一个字段,过段时间又要我初始化该字段,然后我记得Navicat能设置默认,结果是已经添加的字段再设置默认不管用,于是想通过sql语句批量update一下咯;

由于添加该字段有一段时间了,所以有些数据该字段是有值的,现在要把历史数据该字段置为 0;然后我先执行了一段查询sql;结果...

SELECT *
FROM PROJECTINFOS
WHERE  IS_NOINPUT !=0 and IS_NOINPUT !=1

明明数据库中存在大量该字段既不为0也不为1的数据啊,怎么就一条也查询不到。一开始很奇怪,后来才发现,原来是这么回事。

oracle中表示“不等于” 可以这么表示 != ,<>;但是,执行select * from 表名  where IS_NOINPUT != ‘0’ and  IS_NOINPUT != ‘1’时,

当 IS_NOINPUT 为 null 时,并不会显示,这是因为 null 与其他条件不同,<>,!=这类运算符只能查出非空字段;Oracle中的NULL只能用IS NULL或者IS NOT NULL来进行判断!
如果你想要查询IS_NOINPUT 字段为空的数据,条件需改为 select * from 表名  where IS_NOINPUT is null  ;如下:

单独查询某字段为null 或者不为null,你可以这样查询;

select * from 表名 where  字段名 is null 

select * from 表名 where  字段名 is not null 

所以最后,我初始化的还是执行的update 语句;全量更新一遍;如果你们有啥好的建议,欢迎下方留言。

UPDATE PROJECTINFOS  set IS_NOINPUT  = '0' WHERE IS_NOINPUT is null

❤如果文章对您有所帮助,就在文章的右上角或者文章的末尾点个赞吧!(づ ̄ 3 ̄)づ 

❤如果喜欢大白兔分享的文章,就给大白兔点个关注吧!(๑′ᴗ‵๑)づ╭❤~

❤对文章有任何问题欢迎小伙伴们下方留言或者入群探讨【群号:708072830】

❤鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复讨论(请勿发表攻击言论)

猜你喜欢

转载自blog.csdn.net/weixin_43970743/article/details/113544475