Postgresql 类似oracle的NVL方法

news/2024/7/9 23:27:09 标签: postgresql, oracle, 数据库, nvl函数, COALESCE

oracle 的NVL(col,0)是判断如果col字段为空的时候赋值0。
postgresql里也有类似的方法COALESCE

COALESCE函数是返回参数中的第一个非null的值,它要求参数中至少有一个是非null的,如果参数都是null会报错,如下

SELECT coalesce(collect_result,0) as collect_result  FROM collect
select COALESCE(null,null); //报错
select COALESCE(null,null,now()::varchar,''); //结果会得到当前的时间
select COALESCE(null,null,'',now()::varchar); //结果会得到''
//可以和其他函数配合来实现一些复杂点的功能:查询学生姓名,如果学生名字为null或''则显示“姓名为空”
select case when coalesce(name,'') = '' then '姓名为空' else name end from student;


http://www.niftyadmin.cn/n/1598463.html

相关文章

javabean 复习

jsp代码&#xff1a; <% page contentType"text/html;charsetGBK" import"java.sql.*" %> <jsp:useBean id"jb" scope"page" class"bean.JavaBeanJSP"/> <%! ResultSet rs; %> <html> <head>…

pg数据库获取前几条记录

select id , date_id , namefrom (select * , row_number() over(partition by date_id order by id ) as row_id from dddd ) as twhere t.row_id < 2 ; row_number() over(partition by date_id order by id )

Linux设备驱动开发环境的搭建

刚接触Linux设备驱动时&#xff0c;初学者往往连如何编译驱动程序都不懂&#xff0c;更别说编译进内核或加载测试了。一般都是在网上找个最简单的 helloworld驱动程序&#xff0c;然后严格按照网上所说的步骤编译&#xff0c;结果却得到一大堆见都没见过的错误&#xff0c;更不…

postgresql行号类似oracle rownum效果

使用窗口函数row_number() select row_number() OVER (ORDER BY id) as rownum ,* from score; 如果不关心排序&#xff0c;可以这样select row_number() over() as rownum,* from score; ———————————————— 版权声明&#xff1a;本文为CSDN博主「tanweii163」…

postgresql数据库数据小于1,显示出来0的解决方案

你只要把类型转换一下就可以data/100::numeric&#xff0c;如下

Linux 2.6驱动开发之Hello World!

第一次写Linux驱动&#xff0c;环境搭建了好久&#xff0c;第一次可能是由于GCC的版本问题&#xff0c;编译出来的驱动只能insmod&#xff0c;而无法rmmod 然后是make时使用的内核版本和本系统的版本不一致&#xff0c;导致出现insmod: error inserting hello.o :-l invalid m…

SQLSERVER随机数 随机范围处理方法

1、 rand()是直接取0~1内的可重复的随机数&#xff1b; 2、获取指定范围内的随机数 round(rand()*n1,0) 解析一下就是 取1~n1内的可重复的整数。 比如说你要取5.5-6.5之间的数据&#xff0c;并保留两位小数&#xff0c;那么就是 round(rand()*15.5,2)

CentOS上升级Subversion

这些天一直被SVN的分支间的合并&#xff08;Merge&#xff09;折磨的够呛&#xff0c;大家也都反映&#xff1a;在连个分支之间合并太麻烦了&#xff0c;有时候根本不知道上次合并了哪个版本。当时想了一些方法&#xff0c;争取从流程上防止出现错误&#xff1a; 1. 每个人都只…