一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第29天,点击查看活动详情。
第126章 SQL函数 SIN
标量数值函数,返回角度的正弦值(以弧度为单位)。
大纲
{fn SIN(numeric-expression)}
参数
numeric-expression- 数值表达式。这是一个以弧度表示的角度。
SIN 返回 NUMERIC 或 DOUBLE 数据类型。如果 numeric-expression 是数据类型 DOUBLE,则 SIN 返回 DOUBLE;否则,它返回 NUMERIC。
描述
SIN 接受任何数值并将其正弦作为浮点数返回。如果传递一个 NULL 值,SIN 返回 NULL。 SIN 将非数字字符串视为数值 0。
SIN 返回一个精度为 19、小数位数为 18 的值。
SIN 只能用作 ODBC 标量函数(使用大括号语法)。
可以使用 DEGREES 函数将弧度转换为度数。可以使用 RADIANS 函数将度数转换为弧度。
示例
以下示例显示了 SIN 的效果:
SELECT {fn SIN(0.52)} AS Sine
0.496880137843736714
特点
全局变量提供了一种在持久的多维数组中存储数据的易于使用的方法。
例如,可以使用名为^Settings的全局变量将值“Red”与键“Color”相关联:
SET ^Settings("Color")="Red"
可以利用全局变量的多维特性来定义更复杂的结构:
SET ^Settings("Auto1","Properties","Color") = "Red"
SET ^Settings("Auto1","Properties","Model") = "SUV"
SET ^Settings("Auto2","Owner") = "Mo"
SET ^Settings("Auto2","Properties","Color") = "Green"
全局变量具有以下功能:
- 简单易用-全局变量和其他编程语言变量一样易于使用。
- 多维-可以使用任意数量的下标指定全局内节点的地址。
例如,在
^Settings("Auto2","Properties","Color")中,下标Color是全局设置中的第三级节点。 下标可以是整数、数字或字符串值,并且不需要是连续的。 - 稀疏-用于寻址全局节点的下标高度压缩,不需要连续的值。
- 高效-全局变量上的操作(插入、更新、删除、遍历和检索)都经过高度优化,可实现最高性能和并发性。还有用于特殊操作(如批量插入数据)的其他命令。有一组特殊的全局变量是为临时数据结构设计的(例如,用于对记录进行排序)。
- 可靠-InterSystems IRIS数据库提供了许多机制来确保存储在全局数据库中的数据的可靠性,包括逻辑级和物理级日志记录。执行数据库备份操作时,将备份存储在全局数据库中的数据。
- 分布式IRIS提供了多种方法来控制存储在全局数据库中的数据的物理位置。可以定义用于存储全局的物理数据库,或将全局的部分分布到多个数据库中。使用InterSystems IRIS的分布式数据库功能,可以在数据库和应用程序服务器系统网络中共享全局数据。此外,通过镜像技术,存储在一个系统上的全局数据库中的数据可以自动复制到另一个系统上。
- 并发-全局支持多个进程之间的并发访问。在单个节点(数组元素)中设置和检索值始终是原子的:不需要锁定即可保证可靠的并发访问。此外,InterSystems IRIS支持一组强大的锁定操作,可用于为涉及多个节点的更复杂情况提供并发性。使用对象或SQL访问时,会自动处理此并发。
- 事务性-InterSystems IRIS提供定义事务边界的命令;可以启动、提交或回滚事务。在回滚的情况下,事务内对全局变量所做的所有修改都将被撤消;数据库的内容将恢复到事务前的状态。通过将各种InterSystems IRIS锁定操作与事务结合使用,可以使用全局变量执行传统的
ACID事务。(ACID事务提供原子性、一致性、隔离性和持久性。)。使用对象或SQL访问时,事务会自动处理。
注意:本文档中描述的全局变量不应与另一种类型的InterSystems IRIS数组变量混淆:进程私有全局变量。进程私有全局变量不是持久的;它们仅在创建它们程序期间持续。进程私有全局变量也不是并发的;它们只能由创建它们的进程访问。进程专用全局可以通过其多字符名称前缀:^||或^|"^"|轻松地与全局区分开来。