第五十一章 SQL函数 DECODE
计算给定表达式并返回指定值的函数。
大纲
DECODE(expr {,search,result}[,default])
参数
expr
- 要解码的表达式。
search
- 要与Expr进行比较的值。
result
- Expr
匹配搜索时返回的值。
default
- 可选-如果expr
与任何搜索都不匹配,则返回默认值。
描述
可以指定多个搜索和结果对,以逗号分隔。您可以指定一个默认值。DECODE
表达式(包括EXPR
、SEARCH
、RESULT
和DEFAULT
)中的最大参数数约为100
。搜索、结果和默认值可以从表达式派生。
程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
第五十八章 SQL函数 FLOOR
数值函数,返回小于或等于给定数值表达式的最大整数。
大纲
FLOOR(numeric-expression)
{fn FLOOR(numeric-expression)}
参数
numeric-expression
- 下限要计算的数字。
FLOOR
返回与NUMERIC-EXPRESSION
相同的数据类型。
描述
FLOOR
返回小于或等于NUMERIC-EXPRESSION
的最接近的整数值。返回值的小数位数为0
。当numeric-expression
为空值、空字符串(‘’
)或非数字字符串时,FLOOR
返回NULL
。
请注意,Floor
可以作为ODBC标量函数(使用花括号语法)调用,也可以作为SQL常规函数调用。
第六十五章 SQL函数 %INTERNAL
返回逻辑格式表达式的格式转换函数。
大纲
%INTERNAL(expression)
%INTERNAL expression
参数
expression
- 要转换的表达式。
字段名、包含字段名的表达式,或返回可转换数据类型(如DATE
或%List
)中的值的函数。
描述
%INTERNAL
将表达式转换为逻辑格式,与当前选择模式(显示模式)无关。逻辑格式是数据的内存格式(对其执行操作的格式)。%INTERNAL
通常用于选择列表SELECT-ITEM
。
第七十二章 SQL函数 LAST_IDENTITY
返回最后插入、更新、删除或读取的行的标识的标量函数。
大纲
LAST_IDENTITY()
描述
LAST_IDENTITY
函数返回%ROWID
局部变量值。在嵌入式SQL
或ODBC
中将%ROWID
局部变量设置为一个值。动态SQL、SQL Shell或管理门户SQL界面未将%ROWID
局部变量设置为值。动态SQL改为设置%ROWID
对象属性。
LAST_IDENTITY
函数不接受任何参数。请注意,参数括号是必需的。
LAST_IDENTITY
返回受当前进程影响的最后一行的标识字段值。如果表没有标识字段,则返回受当前进程影响的最后一行的行ID(%ROWID
)。返回值为数据类型INTEGER
。
第八十章 SQL函数 $LIST(二)
示例
在以下嵌入式 SQL 示例中,两个 WRITE
语句都返回“Red”
,即列表中的第一个元素。第一个默认写入第一个元素,第二个写入第一个元素,因为位置参数设置为 1
:
第八十七章 SQL函数 $LISTSAME
比较两个列表并返回布尔值的列表函数。
大纲
$LISTSAME(list1,list2)
参数
list1
- 计算结果为有效列表的表达式。
list2
- 计算结果为有效列表的表达式。
描述
$LISTSAME
比较两个列表的内容,如果列表相同则返回 1
。如果列表不相同,则 $LISTSAME
返回 0
。$LISTSAME
逐个元素地比较两个列表。对于两个相同的列表,它们必须包含相同数量的元素,并且 list1
中的每个元素必须与 list2
中的相应元素匹配。
第九十四章 SQL函数 %MINUS
将数字转换为规范整理格式,然后反转符号的整理函数。
大纲
%MINUS(expression)
%MINUS expression
参数
expression
- 表达式,可以是列名、数字或字符串文字、算术表达式或另一个函数的结果,其中基础数据类型可以表示为任何字符类型。
描述
%MINUS
将数字或数字字符串转换为规范形式,反转符号,然后以数字排序规则返回这些表达式值。
%MINUS
和 %PLUS
在功能上是相同的,只是 %MINUS
反转了符号。它为解析为正数的任何数字添加减号前缀,并从解析为负数的任何数字中删除减号。零从不签名。
第九十九章 SQL函数 NOW
返回当前本地日期和时间的日期/时间函数。
大纲
NOW()
{fn NOW}
{fn NOW()}
描述
NOW
不接受任何参数。参数括号对于 ODBC
标量语法是可选的;它们对于 SQL 标准函数语法是必需的。
NOW
以时间戳的形式返回该时区的当前本地日期和时间;它会根据本地时间变体进行调整,例如夏令时。
NOW
可以返回 %TimeStamp
数据类型格式 (yyyy-mm-dd hh:mm:ss.ffff
) 或 %PosixTime
数据类型格式(编码的 64
位有符号整数)的时间戳。以下规则确定返回的时间戳格式:
第107章 SQL函数 $PIECE
返回由分隔符标识的子字符串的字符串函数。
第114章 SQL函数 RADIANS
将度数转换为弧度的数值函数。
大纲
RADIANS(numeric-expression)
{fn RADIANS(numeric-expression)}
参数
numeric-expression
- 以度为单位的角度度量。解析为数值的表达式。
RADIANS
返回 NUMERIC
或 DOUBLE
数据类型。如果 numeric-expression
是数据类型 DOUBLE
,RADIANS
返回 DOUBLE
;否则,它返回 NUMERIC
。
RADIANS
可以指定为标准标量函数或带有大括号语法的 ODBC 标量函数。
临床研究必须与健康数据相连
就在不久以前,临床科研人员还需要依靠三联的纸质NCR表格,手工收集从堆积如山的手写电子病历中提炼出来的病人数据。从又大又重的《医师案头参考》(PDR)撕下几页,通过传真机发送给FDA,用于药物安全报告。业内专业人士接受了大量的培训,以确保数据经过源文件验证、双键处理,并在经过看似无休止的查询以纠正错误之后,保证其符合目的。
值得庆幸的是,随着电子健康档案的广泛采用,健康数据的数字化,这一过程得到了极大的改善。但是,鉴于临床研究进展缓慢,特别是精美的Excel表格仍由人工数据摘要完成,该领域早该有更多的技术变革,特别是围绕释放医疗互操作性的全部好处。如果我们能做到这一点,生命科学公司将有机会利用宝贵的健康数据来确保病人的安全,优化新药的疗效,并使临床开发过程更加高效,减少错误。
第143章 SQL函数 TO_DATE(一)
将格式化字符串转换为日期的日期函数。
大纲
TO_DATE(date_string[,format])
TODATE(date_string[,format])
参数
date_string
- 要转换为日期的字符串。基础数据类型为 CHAR
或 VARCHAR2
的字符串日期表达式。
format
- 可选 — 对应于 date_string
的日期格式字符串。如果省略格式,DD MON YYYY&
是默认值;此默认值是可配置的。
描述
名称 TO_DATE
和 TODATE
是可互换的,并且支持 Oracle 兼容性。
第149章 SQL函数 TRIM
字符串函数,它返回删除了指定的前导和/或尾随字符的字符串。
我的团队在在红帽OpenShift容器平台上运行IRIS互操作性解决方案。我想在数据被存储在Mirror的数据pods中的情况下,测试运行中的webgateway pods和计算节点 pods能处理多少消息。
为了增加测试难度,我部署了多个feeder容器,并在每个feeder上安排了任务,以在同一时间发送大量的消息。为了进入下一阶段的测试,我希望有多种类型的测试文件可以按需使用。我创建了test-data应用程序,能够请求生成大量的多种类型的文件。
我早期的一些测试依赖于复制一个样本文件和处理它。这在一次只复制一份的情况下效果不错。为了获得同一样本文件的许多副本,MakeFile函数获取一个样本文件、保存其副本、并以唯一的时间戳进行重命名。MakeFiles函数有一个参数,用于确定要制作的文件数量。
我找到了一个样本文件,它的输入和输出都是带分隔符和固定符的。我把它包含在我的应用程序中,并添加了一个转换来操作测试数据文件。在这种情况下,我把测试文件中的识别ID号替换成在一个类方法中生成的识别ID号,并且是随着文件而递增的。
我想在处理后审查测试文件中的数据,我喜欢看到一系列有顺序的数字,而不是一系列随机数字。
第三章 数据类型(二)
SQL 系统数据类型映射
上表中为 DDL 和 IRIS 数据类型表达式显示的语法是为 SQL.SystemDataTypes
配置的默认映射。对于提供的系统数据类型和用户数据类型,有单独的映射表可用。
要查看和修改当前数据类型映射,请转到管理门户,选择系统管理、配置、SQL 和对象设置、系统 DDL 映射。
了解 DDL 数据类型映射
将数据类型从 DDL 映射到 IRIS 时,常规参数和函数参数遵循以下规则:
- 常规参数 - 这些在 DDL 数据类型和 IRIS 数据类型中以
%#
格式标识。例如:
VARCHAR(%1)
映射到:
%String(MAXLEN=%1)
因此,DDL 数据类型为:
VARCHAR(10)
映射到:
第七章 操作位和位串(三)
操作位串
要创建新的位串,请使用 $bit
函数将所需位设置为 1
:
kill bitstring
set $bit(bitstring, 3) = 1
set $bit(bitstring, 6) = 1
set $bit(bitstring, 11) = 1
使用 $bit
将现有位串中的位设置为 1
:
set $bit(bitstring, 5) = 1
使用 $bit
将现有位串中的位设置为 0
:
set $bit(bitstring, 5) = 0
由于位串中的第一位是位 1
,因此尝试设置位 0
会返回错误:
第二十一章 使用工作队列管理器(四)
分离和附加工作队列
通常,初始化一组工作程序,将工作项排队,然后等待工作程序完成工作项。但是,可能会遇到工作人员作业完成工作项所需的时间比预期更长的情况,或者无法将单个进程专门用于等待。因此,工作队列管理器使能够将工作队列与进程分离,然后将工作队列附加到同一进程或不同的进程。
例如,假设队列引用了初始化的工作队列。还假设向工作队列中添加了几个工作项。在调用 Wait() 或 WaitForComplete() 来确定正在处理的工作的状态之前,可以使用以下方法:
Detach()
method Detach(ByRef token As %String, timeout As %Integer=86400) as Status
从初始化工作队列时创建的对象引用中分离工作队列对象。 Detach() 方法使任何正在进行的工作能够继续并保留工作队列的当前状态。
token 参数表示一个安全令牌,可以使用它随后将工作队列附加到另一个进程。 timeout 参数是可选的,它指示系统保留分离的工作队列对象的时间量(以秒为单位)。超时期限过后,系统会删除与工作队列关联的所有工作人员作业和信息。超时的默认值为 1 天。
第五章 使用嵌入式 Python (二)
在 Python 脚本文件 (.py) 中
还可以使用 irispython
命令执行 Python
脚本。
考虑 Windows
系统上的文件 C:\python\test.py
,其中包含以下代码:
在InterSystems IRIS数据平台管理门户中,有一些工具用于导入和导出数据。这些工具使用动态SQL,这意味着查询是在运行时准备和执行的。可以导入或导出的行的最大尺寸是3,641,144个字符。
你也可以使用%SQL.Import.Mgr类或LOAD DATA SQL命令导入数据,并使用%SQL.Export.Mgr类导出数据。
从文本文件中导入数据(.csv 和.txt)
你可以从一个文本文件中导入数据到一个合适的InterSystems IRIS类。当你这样做时,系统会在该类的表中创建并保存新的行。该类必须已经存在并且必须被编译。
步骤如下:
InterSystems SQL支持在InterSystems IRIS数据平台数据库中将流数据存储为BLOB(Binary Large Objects 二进制大对象)或CLOB(Character Large Objects字符大对象)的能力。
InterSystems SQL支持两种流字段:
- 字符流:用于大量的文本。
- 二进制流:用于图像、音频或视频。
BLOBs和CLOBs可以存储多达4GB的数据(JDBC和ODBC规范规定的限制)。除了在通过ODBC或JDBC客户端访问时如何处理字符编码转换(如Unicode到多字节)外,BLOB和CLOB的操作在各方面都是相同的:BLOB中的数据被视为二进制数据,决不转换为其他编码,而CLOB中的数据被视为字符数据,在必要时进行转换。
第十七章 源代码文件 REST API 教程(二)
获取在命名空间中定义的源代码文件
要获取有关命名空间中源代码文件的信息:
- 首先,使用 GetDocNames
方法获取文件的名称。
- 然后用GetDoc
方法获取一个文件的内容,也可以用GetDocs
方法获取多个文件的内容。
- 如果要提高应用程序的网络效率,可以保留源代码文件的名称和内容的本地缓存,并使用 GetModifiedDocNames
方法仅获取内容发生变化的源代码文件的名称或使用带有 If-None-Match HTTP
标头的 GetDoc
方法。
GetDocNames
方法返回映射到命名空间的所有数据库中的所有源代码文件的名称。
Hi 大家好!
我经常会看到CSP 应用提示一些没有什么意义的错误信息,比如:
.png)
在Windows中,InterSystems IRIS 会将Python引擎一起安装在安装目录中,可以将Python的代码在InterSystems IRIS内核中运行,允许Python代码与ObjectScript代码混合运行,以获得最佳开发性能。一般基于UNIX的操作系统会自带一个Python,所以不会随InterSystems IRIS安装包自动安装Python引擎。
在InterSystems IRIS 2021.2 以上的版本中才支持Embedded Python,其余版本不支持使用Embedded Python
第三十四章 在 Windows 上使用 IRIS(一)
在 Microsoft Windows
平台上管理 IRIS
数据平台实例非常简单。可以使用管理门户和 IRIS
启动器执行大多数任务。还可以从命令提示符控制 IRIS
实例。
本主题使用 install-dir
来指代 IRIS
安装目录——可以在安装指南的默认安装目录部分找到默认目录。
注意:不要对 IRIS IRIS.DAT
数据库文件使用 Windows
文件压缩。 (通过右键单击 Windows
资源管理器中的文件或文件夹并选择属性,然后选择高级,然后压缩内容以节省磁盘空间来压缩文件;压缩后,文件夹名称或文件名在 Windows
资源管理器中呈现为蓝色。)如果压缩一个IRIS.DAT
文件,它所属的实例将无法启动,并出现误导性错误。
中文社区的同学们大家好!
如你所知,从2022年9月5日-10月24日(北京时间),我们正在举办🏆InterSystems开发者社区中文版首届技术征文大赛🏆(←点击链接进入参赛页面,浏览所有参赛文章)!
截至目前,我们已收获了20余篇佳作
作为此次大赛重要奖项“专家提名奖”评比的重要部分,我们的专家评审团已组建成团!
在美国各地,当需要实现大规模的应用集成时,医疗行业的领导者会使用InterSystems HealthShare Health Connect®。无论是为了连接电子病历,还是为了提升床边护理决策能力,无论是为了创新远程医疗和远程护理,还是为了业务增长,亦或是为未来做准备,InterSystems和Health Connect随时准备好帮助您和您的组织实现目标。我们在此提供几个InterSystems医疗行业的集成实例以作示范。
第二十五章 CSP Session 管理 - 选择策略时的注意事项
组的注意事项
本节包含创建身份验证组时要考虑的一些要点。
0. 算法概述
SM4算法是一种分组密码算法。其分组长度为128bit,密钥长度也为128bit。加密算法与密钥扩展算法均采用32轮非线性迭代结构,以字(32位)为单位进行加密运算,每一次迭代运算均为一轮变换函数F。SM4算法加/解密算法的结构相同,只是使用轮密钥相反,其中解密轮密钥是加密轮密钥的逆序。
1. 密钥及轮密钥
密钥长度为128比特,表示为MK=(MK(0),MK(1),MK(2),MK(3)),其中MKi(i=0,1,2,3)为字。
轮密钥表示为(rk(0),rk(1),...,rk(31)),其中rk(i)(i=0,...,31)为32比特字。轮密钥由秘钥生成。

1.数据的价值
数据的核心价值是帮助我们决策。
我们无时无刻不在决策,大到战略决策——为一家新医院选址,还有战术决策——鉴别产品的目标市场或抵押贷款审批,更频繁的是操作决策——决定患者的手术方案或患者药物的调整。
.png)
这些决策要求不同的决策速度,传统的数据中心已经能较好地帮助我们做战略决策、战术决策,甚至一些操作决策。但新的业务需求要求我们的决策速度越来越快,甚至借助机器学习自动为我们做出即时的决策,例如批准还是拒绝一笔信用卡交易或基于算法自动交易。
无论是人工决策还是基于机器学习的自动决策,决策的依据是数据。数据的速度和质量决定了决策的速度和质量。要支持决策,需要数据具有如下特征:
(1)完整 :关联且具有完整上下文;
(2)干净 :数据质量没有问题;
(3)及时 :在决策点上没有延迟。