postgresql 自定义函数
CREATE OR REPLACE FUNCTION "public"."pm25_aqi"("pm25_nd" numeric)
RETURNS "pg_catalog"."int4" AS $BODY$
DECLARE
RET numeric;
IAQI_1 numeric;
IAQI_2 numeric;
IAQI_3 numeric;
IAQI_4 numeric;
IAQI_5 numeric;
IAQI_6 numeric;
IAQI_7 numeric;
IAQI_8 numeric;
BP_1 numeric;
BP_2 numeric;
BP_3 numeric;
BP_4 numeric;
BP_5 numeric;
BP_6 numeric;
BP_7 numeric;
BP_8 numeric;
BEGIN
IAQI_1=0;
IAQI_2=50;
IAQI_3=100;
IAQI_4=150;
IAQI_5=200;
IAQI_6=300;
IAQI_7=400;
IAQI_8=500;
BP_1=0;
BP_2=35;
BP_3=75;
BP_4=115;
BP_5=150;
BP_6=250;
BP_7=350;
BP_8=500;
IF PM25_ND<=BP_2
THEN RET = ((IAQI_2-IAQI_1)/(BP_2-BP_1))*(PM25_ND-BP_1)+IAQI_1;
ELSIF PM25_ND>BP_2 AND PM25_ND<=BP_3
THEN RET = ((IAQI_3-IAQI_2)/(BP_3-BP_2))*(PM25_ND-BP_2)+IAQI_2;
ELSIF PM25_ND>BP_3 AND PM25_ND<=BP_4
THEN RET = ((IAQI_4-IAQI_3)/(BP_4-BP_3))*(PM25_ND-BP_3)+IAQI_3;
ELSIF PM25_ND>BP_4 AND PM25_ND<=BP_5
THEN RET = ((IAQI_5-IAQI_4)/(BP_5-BP_4))*(PM25_ND-BP_4)+IAQI_4;
ELSIF PM25_ND>BP_5 AND PM25_ND<=BP_6
THEN RET = ((IAQI_6-IAQI_5)/(BP_6-BP_5))*(PM25_ND-BP_5)+IAQI_5;
ELSIF PM25_ND>BP_6 AND PM25_ND<=BP_7
THEN RET = ((IAQI_7-IAQI_6)/(BP_7-BP_6))*(PM25_ND-BP_6)+IAQI_6;
ELSIF PM25_ND>BP_7
THEN RET = ((IAQI_8-IAQI_7)/(BP_8-BP_7))*(PM25_ND-BP_7)+IAQI_7;
END IF;
IF RET>500 THEN RET=500; END IF;
return ceiling(RET);
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
postgresql 自定义函数的更多相关文章
- PostgreSql 自定义函数:批量调整某个字段长度
CREATE or replace FUNCTION alterColumn(cloumnName VARCHAR(32), out v_retcode text)AS$BODY$ declare r ...
- java sqlite配置和自定义函数
资源 jetty Jetty Downloads地址 sqlite sqlite JDBC Driver 地址:bitbucket代码托管 和 Github代码托管 jetty配置sqlite 在je ...
- Mysql - 存储过程/自定义函数
在数据库操作中, 尤其是碰到一些复杂一些的系统, 不可避免的, 会用到函数/自定义函数, 或者存储过程. 实际项目中, 自定义函数和存储过程是越少越好, 因为这个东西多了, 也是一个非常难以维护的地方 ...
- Entity Framework 6 Recipes 2nd Edition(10-5)译 -> 在存储模型中使用自定义函数
10-5. 在存储模型中使用自定义函数 问题 想在模型中使用自定义函数,而不是存储过程. 解决方案 假设我们数据库里有成员(members)和他们已经发送的信息(messages) 关系数据表,如Fi ...
- mysql 常用自定义函数解析
-- /* -- * 用于获取一记录数据,根据传入的分隔字符delim,索引位置pos,返回相对应的value -- * SELECT Json_getKeyValue({"A": ...
- mysql 自定义函数
原文:http://www.cnblogs.com/zhangminghui/p/4113160.html 引言 MySQL本身提供了内置函数,这些函数的存在给我们日常的开发和数据操作带来了很大的便利 ...
- Sql Server系列:自定义函数
用户自定义函数可以像系统函数一样在查询或存储过程中调用,可以接受参数.执行操作并将操作结果以值的形式返回.返回值可以是单个标量或结果集. 1. 标量函数 标量函数返回一个确定类型的标量值,对于多语句的 ...
- asp.net MVC helper 和自定义函数@functions小结
asp.net Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率.但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们 ...
- PHP函数之自定义函数
像数学中的函数一样,y=f(x)是函数基本的表达形式,x可看做是参数,y可看做是返回值,即函数定义就是一个被命名的.独立的代码段,它执行特定的任务,并可能给调用它的程序返回一个值. 自定义函数 函数的 ...
随机推荐
- angular.isString()
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- (88)Wangdao.com第二十一天_JavaScript 元素节点Element 节点
Element 节点 (元素节点) 是一组对象 对应网页的 HTML 元素 每一个 HTML 元素,在 DOM 树上都会转化成一个 Element 节点对象(以下简称元素节点) 所有元素节点的 nod ...
- (转载)CentOS6 Linux系统添加永久静态路由的方法
https://blog.csdn.net/magerguo/article/details/49636231
- Java演算法-「馬踏棋盤問題」
/* * 馬踏棋盤問題:(貪婪法求解) * 棋盤有64個位置,“日”字走法,剛好走滿整個棋盤 */ //下一個走法的方向類 class Direction{ int x; int y; int way ...
- export和export default
在 vue中 export 变量名不能识别,只能export default 变量,import 随便取名,不需要{}
- verilog 之流水灯
1.黑金板 简易操作: 通过判断数值累加 个人观点:黑金代码质量有待提高,讲解不够详细 2.正点原子的 位置调换 led[:] <= {led[:],led[]}; 3.传统位移 led& ...
- String工具类2
1:比较字符串 public static void main(String[] args) { // String去创建对象有多种方式 // 方式1 直接字面值赋值 String s = " ...
- Python中的短路计算
在Python中,布尔类型还可以与其他数据类型做 and.or和not运算,请看下面的代码: In [1]: a = True In [2]: print(a and 'a=T' or 'a=F') ...
- Autofac之自动装配
从容器中的可用服务中选择一个构造函数来创造对象,这个过程叫做自动装配.这个过程是通过反射实现的 默认 思考这么一个问题,如果注册类型中存在多个构造函数,那么Autofac会选择哪一个来创建类型的实例 ...
- Mysql5.8解压版安装问题:TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS
问题描述: cmd显示如下: .err文件显示: [ERROR] [MY-010131] [Server] TCP/IP, --shared-memory, or --named-pipe shoul ...