第三十三章 SQL函数 COT

292 阅读3分钟

「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战

第三十三章 SQL函数 COT

标量数值函数,返回角度的余切值(以弧度为单位)。

大纲

{fn COT(numeric-expression)}

参数

  • numeric-expression - 数值表达式。 这是一个用弧度表示的角。

COT返回NUMERICDOUBLE数据类型。 如果数值表达式是数据类型DOUBLE, COT返回DOUBLE; 否则,返回NUMERIC

描述

COT接受任何非零数,并以浮点数的形式返回它的余切值。 如果传入NULL值,COT将返回NULL。 数值0(0)会导致运行时错误,生成SQLCODE -400(发生致命错误)。 COT将非数字字符串视为数值0

COT返回一个精度为36、刻度为18的值。

COT只能用作ODBC标量函数(使用花括号语法)。

可以使用DEGREES函数将弧度转换为角度。 可以使用RADIANS函数来转换角度到弧度。

示例

下面的例子展示了COT的效果:

SELECT {fn COT(0.52)} AS Cotangent 

1.746536264145397165
SELECT {fn COT(124.1332)} AS Cotangent 

-0.040311998371146672

2 传统Caché编程

说完设计模式,我们来看一下传统的Caché编程,传统的Caché主要是采用面向过程的编程模式。

2-1 面向过程与面向对象

我们首先了解一下什么是面向过程?

刚开始的高级语言编写,大多是面条式的代码,随着代码的复杂化,会造成代码极度混乱。之后出现了结构化编程,即面相过程式的开发。这种方式把代码分割成了多个模块,增强了代码的复用性,方便了调试和修改,但是结构也相对复杂一些。面相过程的开发把需求理解成一条一条的业务流程,开发前总是喜欢问用户,你的业务流程是什么样的,然后他们分析流程,把这些流程交织组合在一起,然后在划分成一个又一个的功能模块,最终通过一个又一个的函数实现了需求,这对一个小型的软件来说,或许是最直接最间接的做法。

但是众所周知咱们的his系统是拥有相当庞大且复杂的业务模块和流程体系。因为传统Caché的编程方式就是面向过程,而问题也就是出在了这里,随着系统的不断复杂化,这样的做法有很大的弊端。无论分析做的如何好,也无法从用户哪里获得所有的需求。业务流程是需求中最可能变化的地方。这就使得按照业务流程设计的程序经常面临变化。

因为面向过程是通过划分功能模块,通过函数间相互调用来实现,当需求变化时就需要更改函数,而改动的函数有多少地方在调用它,关联多少数据,这是很不容易弄得清楚的地方,而且函数的修改极有可能引起不必要的bug出现,维护和调试中所耗费的大多时间不是花在修改bug上,而是花在寻找bug上。面相过程的开发已经不能适应软件的发展。