1、mysql中的ifnull()函数对应postgresql的coaleceCOALESCE('字段名称','期望值')2、示例select COALESCE(p.valid,0) ,p.valid from b_app_ability_plan p
PostgreSQL
是以加州大学伯克利分校计算机系开发的POSTGRES,现在已经更名为
PostgreSQL
.
PostgreSQL
支持大部分SQL标准并且提供了许多其它现代特性:复杂查询、外键、触发器、视图、事务完整性等。
PostgreSQL
是一个免费的对象-关系
数据库
服务器(
数据库
管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码
数据库
系统(比如
MySQL
和 Firebird),和专有系统(比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server)之外的另一种选择。 事实上,
PostgreSQL
的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其
中
有些数据类型可以说连商业
数据库
都不具备, 比如 IP 类型和几何类型等;其次,
PostgreSQL
是全功能的自由软件
数据库
,很长时间以来,
PostgreSQL
是唯一支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检查等特性的唯一的一种自由软件的
数据库
管理系统。 Inprise 的 InterBase 以及SAP等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,
PostgreSQL
拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,
PostgreSQL
的质量日益提高。从技术角度来讲,
PostgreSQL
采用的是比较经典的C/S(client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由
数据库
服务器提供了统一的客户端 C 接口。而不同的客户端接口都是源自这个 C 接口,比如ODBC,JDBC,Python,Perl,Tcl,C/C++,ESQL等, 同时也要指出的是,
PostgreSQL
对接口的支持也是非常丰富的,几乎支持所有类型的
数据库
客户端接口。这一点也可以说是
PostgreSQL
一大优点。 本课程作为
PostgreSQL
数据库
管理之三,主要讲解以下内容:1.
PostgreSQL
约束讲解和剖析2.
PostgreSQL
数据类型3.
PostgreSQL
的结构管理4.
PostgreSQL
条件表达式和操作5.
PostgreSQL
使用小技巧
postgresql
版本是8.2.15。
最近陆续有数据分析师从impala、hive转到查询gpdb,gpdb虽然能够支持在查询语句
中
带多个distinct,但是缺少相应的if、
ifnull
、group_concat
函数
,正好年后有空就拓展一些
函数
给他们用
1. to_array聚集
函数
CREATE AGGREGATE
pg
_catalog.to_array (anyelement)...
本文学习
PostgreSQL
COALESCE 和 NULLIF
函数
。COALESCE它返回第一个非空参数,并通过示例让你了解如何在select语句
中
有效处理空值。NULLIF需要两个参数,参数相同返回null,否则返回第一个参数。通过同时学习两个
函数
,可以区分两者,同时可以组合使用,增强你SQL的健壮性。
PostgreSQL
COALESCE
函数
语法
COALESCE
函数
语法:
COALESCE (argument_1, argument_2, …);
参数可以有无限个,总是返回第一个.
2、参考书籍:《
数据库
事务处理的艺术:事务管理与并发控制》
3、
PostgreSQL
数据库
仓库链接,点击前往
4、日本著名
PostgreSQL
数据库
专家 铃木启修 网站主页,点击前往
5、参考书籍:《
PostgreSQL
中
文手册》
6、参考书籍:《
PostgreSQL
指南:内幕探索》,点击前往
7、参考书籍:《事务处理 概念与技术》
8、
PostgreSQL
数据库
仓库链接,.
工作
中
迁移
mysql
至
pg
9.6,遇到
mysql
中
的
ifnull
函数
在
pg
中
没有,
pg
中
函数
coalesce与
ifnull
功能相同,但
函数
名不同,需要修改应用。
ifnull
也在SQL标准
中
,
pg
此处不符合sql标准规范。本人尝试修改
pg
源码添加了
ifnull
函数
,在此做一分享,不当之处请各位批评指正。
ifnull
语法规范
语法格式:
IFNULL
(expr1 任意类型, expr2 任意类型)
当expr1为NULL时,用expr2代替本
函数
式的值;否则本
函数
的值保持expr1的原值。
参数说明:
expr1数据类型可以是系统的数据类型
中
的某一个(如:TEXT,INTEGER