Oracle中SQL查询字段值为空时,指定默认值
一、实现效果
实现设备字段有值显示【加工】否则显示【未加工】
二、Oracle中NVL
2.1、NVL函数功能介绍
NVL 是Oracle的函数,功能是实现空值的转换,如果fieldName为NULL,则NVL函数返回replace_with的值,否则返回string1的值。
2.2、NVL函数格式
//fieldName表示字段名称,replace_with表示该字段内容为空时的替换值
NVL(fieldName, replace_with)
引申一下,此NVL的作用与SQLserver 中的 ISNULL( string1, replace_with) 一样。
2.3、注意事项
fieldName和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数。
//格式
NVL(TO_CHAR(numeric_column), 'some string') 其中numeric_column代指某个数字类型的值//示例
NVL(TO_CHAR(AGE), '不合法') ,其中AGE是intl类型的值
SELECT NVL(TO_CHAR(AGE), '不合法') AGE FROM PEOPLEINFO
①oracle中如下的SQL语句会报错:查不到数据的错误
//rulescore是NULL, 则取 0值;如果记录中不存在rulecode ='YNRL'的数据.则查不出数据.
select nvl(rulescore,0) from graderule where rulecode='YNRL';
②oracle中如下的SQL语句不会报错:查不到数据的错误
//使用SUM聚合,则不报错
//【NVL函数中使用SUM聚合查询获得某个字段的合计值,如果这个值为null将给出一个预设的默认值】//如下所示:如果记录中不存在rulecode ='YNRL'的数据.还是可以得到一行列名为:newscore),值为0的数据.
select nvl(sum(rulescore),0) newscore from graderule where rulecode='YNRL';
三、NVL2函数格式
3.1、NVL2函数功能介绍
NVL2函数是NVL函数的扩展,如果fieldName为NULL,则函数返回replace_with2,若fieldName不为null,则返回repalce_with1。
3.2、NVL2函数格式
//fieldName表示字段,如果fieldName为NULL,则函数返回replace_with2,若fieldName不为null,则返回repalce_with1。
NVL2(fieldName, replace_with1, replace_with2)
3.3、注意事项
fieldName和replace_with1、replace_with2必须为同一数据类型,除非显式的使用TO_CHAR函数。
Oracle中SQL查询字段值为空时,指定默认值相关推荐
- @PathVariable为空时指定默认值
@PathVariable为空时指定默认值, 可以指定多个匹配路径,然后设置参数非必要的,就可以了,例子如下 @RequestMapping(value = {"/timeline/{uid ...
- java某个参数值设置为空_@PathVariable为空时指定默认值的操作
@PathVariable为空时指定默认值, 可以指定多个匹配路径,然后设置参数非必要的,就可以了,例子如下 @RequestMapping(value = {"/timeline/{uid ...
- oracle中sql查询
oracle中sql查询 一.查询 别名 拼接 nvl替换null值 distinct数据去重 修改列宽(控制sqlplus) 2.排序order by 3.查询条件where 3.函数 单行函数 聚 ...
- 【Java 8 新特性】Java Map getOrDefault() 示例 | Map获取值为空则取默认值
@[TOC](Java Map getOrDefault() 示例 | Map获取值为空则取默认值) getOrDefault是java.util.Map的默认方法,在Java 8中被引入. getO ...
- mysql创建表时默认默认_mysql创建数据表时指定默认值教程
指定默认值 如果在插入行时没有给出值,MySQL允许指定此时使用的默认值.默认值用 CREATE TABLE 语句的列定义中的 DEFAULT 关键字指定. 请看下面的例子: 输入:create ta ...
- oracle中sql查询增加自增序列号
如果我们需要在oracle中查询一系列数据,但是需要对查询出来的数据有一个自增的序列号,方便后续的处理的话,我们可以利用rownum 比如有table A 我们可以这么写sql select a.*, ...
- sql增加字段,修改字段属性,设置字段不为空,设置默认值
新增字段 ALTER TABLE 表名 ADD 字段名 BIT NOT NULL DEFAULT 0; EXEC sys.sp_addextendedproperty @name=N'MS_Descr ...
- php要输出为空值怎么写,thinkphp3.0基础模板引擎变量为空时输出默认值
在thinkphp的模板引擎中,如果输出的变量是空的,但我们的设计需求又不想让这里空出一大块,需要给这个变量指定一个默认值,也就是说,如果 这个变量为空,就显示我们指定的默认值.那么这个可不可以在th ...
- 表单默认空白,无数据时赋默认值,新增时赋默认值
一.首先定义一个赋默认值的方法,然后初始化时调用,新增时调用 二.新增与更新,入参一致,所以可以共用一个接口,一个方法,根据是否有id判断 三.生成表单尽量用map不用push,因为push可能会出现 ...
最新文章
- iOS 没到年底NSDate 时间出错问题
- 与我们的书合影——在2009北京国际图书展(BIBF)
- 数据结构二:排序(插入排序和希尔排序)
- 方钢管弹性模量计算方式_箱形系梁贝雷支架受力计算书
- sales status change in ERP
- 【Python CheckiO 题解】Between Markers (simplified)
- NG Updata(升级)
- Service Broadcast简单音乐播放功能
- 元界未来获得种子轮投资,新址入驻深圳南山核心区大冲国际中心
- 《Adaptive Unimodal Cost Volume Filtering for Deep Stereo Matching》
- C# 检测USB是否插入
- KMP算法—终于全部弄懂了
- android 公式编辑,能编辑公式的安卓手机股票软件
- 计算机能学设计吗,计算机平面设计难学吗
- 快消品图像识别丨无人店背后的商品识别技术
- 大数据以及Hadoop相关概念介绍
- VMware 虚拟器安装kali镜像
- BZOJ 1123 POI2008 BLO Tarjan+树形DP
- [机缘参悟-30]:鬼谷子-内揵篇-同理心,站在对方的立场,拉近与对方的心理距离
- 分享148个PHP源码,总有一款适合您