文章 姚 鑫 · 三月 23 阅读大约需 1 分钟 第九十章 SQL函数 LOG10 第九十章 SQL函数 LOG10 标量数值函数,它返回给定数值表达式的以 10 为底的对数。 大纲 {fn LOG10(expression)} 参数 expression - 数值表达式。 LOG10 返回 NUMERIC 或 DOUBLE 数据类型。如果表达式为 DOUBLE数据类型,则 LOG10 返回 DOUBLE;否则,它返回 NUMERIC。 描述 LOG10 返回表达式的以 10 为底的对数值。LOG10 返回一个精度为 21、小数位数为 18 的值。 LOG10 只能用作 ODBC 标量函数(使用大括号语法)。 #SQL #Caché 0 0 0 6
文章 姚 鑫 · 四月 7 阅读大约需 1 分钟 第105章 SQL函数 %OID 第105章 SQL函数 %OID 返回 ID 字段的 OID 的标量函数。 大纲 %OID(id_field) 参数 id_field - ID 字段或引用字段的字段名称。 描述 %OID 采用字段名称并返回对象的完整 OID(对象 ID)。该字段必须是 ID 字段或引用字段(外键字段)。在 id_field 中指定任何其他类型的字段会生成 SQLCODE -1 错误。 示例 以下示例显示了与引用字段一起使用的 %OID: #SQL #Caché 0 0 0 9
文章 姚 鑫 · 四月 22 阅读大约需 5 分钟 第120章 SQL函数 ROUND 第120章 SQL函数 ROUND 以指定位数舍入或截断数字的数值函数。 大纲 ROUND(numeric-expr,scale[,flag]) {fn ROUND(numeric-expr,scale[,flag])} 参数 numeric-expr - 要四舍五入的数字。一个数值表达式。 scale - 计算结果为整数的表达式,该整数指定要舍入到的位数,从小数点开始计数。可以是零、正整数或负整数。如果 scale 是小数, 会将其四舍五入为最接近的整数。 flag - 可选 — 一个布尔标志,指定是舍入还是截断 numeric-expr:0=round, 1=truncate。默认值为 0。 ROUND 返回与 numeric-expr 相同的数据类型。 描述 此函数可用于将数字舍入或截断为指定的小数位数。 #SQL #Caché 0 0 0 8
文章 姚 鑫 · 五月 5 阅读大约需 3 分钟 第133章 SQL函数 STRING 第133章 SQL函数 STRING 将表达式转换并连接成字符串的函数。 大纲 STRING(string1[,string2][,...][,stringN]) 参数 string - 表达式,可以是字段名称、字符串文字、数字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR)。如果指定了字段名称,则使用逻辑值。 描述 STRING 将一个或多个字符串转换为 STRING 格式,然后将这些字符串连接成一个字符串。不执行大小写转换。 STRING 在字符串转换之前将数字转换为其规范形式。因此,它执行算术运算,从数字中删除前导和尾随零以及前导加号。 #SQL #Caché 0 0 0 7
文章 姚 鑫 · 五月 20 阅读大约需 3 分钟 第148章 SQL函数 $TRANSLATE 第148章 SQL函数 $TRANSLATE 执行逐字符替换的字符串函数。 大纲 $TRANSLATE(string,identifier[,associator]) 参数 string - 目标字符串。它可以是字段名称、文字、主机变量或 SQL 表达式。 identifier - 要在字符串中搜索的字符。它可以是字符串或数字文字、主变量或 SQL 表达式。 associator - 可选 — 与标识符中的每个字符对应的替换字符。它可以是字符串或数字文字、主变量或 SQL 表达式。 描述 $TRANSLATE 函数在返回值字符串中执行逐字符替换。它一次处理一个字符的字符串参数。它将字符串中的每个字符与标识符参数中的每个字符进行比较。如果 $TRANSLATE 找到匹配项,它会记下该字符的位置。 #SQL #Caché 0 0 0 3
文章 姚 鑫 · 三月 16, 2021 阅读大约需 5 分钟 第十一章 SQL隐式联接(箭头语法) 第十一章 SQL隐式联接(箭头语法) InterSystems SQL提供了一个特殊的–>运算符,作为从相关表中获取值的快捷方式,而在某些常见情况下无需指定显式的JOIN即可。可以使用此箭头语法代替显式联接语法,也可以将其与显式联接语法结合使用。箭头语法执行左外部联接。 箭头语法可用于类的属性或父表的关系属性的引用。其他类型的关系和外键不支持箭头语法。不能在ON子句中使用箭头语法(–>)。 属性引用 可以使用- >操作符作为从“引用表”获取值的简写。 例如,假设定义了两个类:Company: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 41
文章 姚 鑫 · 四月 2, 2021 阅读大约需 13 分钟 第十五章 使用管理门户SQL接口(一) 第十五章 使用管理门户SQL接口(一) 本章介绍如何在InterSystems IRIS®数据平台管理门户上执行SQL操作。 管理门户界面使用动态SQL,这意味着在运行时准备和执行查询。 Management Portal界面旨在帮助针对小型数据集开发和测试SQL代码。 它不打算用作在生产环境中执行SQL的接口。 管理门户还提供了各种配置SQL的选项。 有关使用管理门户的一般信息,请选择左上角的Help按钮。 通过使用左上角的Contact按钮,可以从管理门户向InterSystems Worldwide Response Center (WRC)报告有关InterSystems软件的问题。 管理门户SQL工具 InterSystems IRIS允许使用SQL工具从InterSystems IRIS管理门户检查和操作数据。 此操作的起点是Management Portal System Explorer选项。 从这里选择SQL选项。 这将显示SQL接口,它允许: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 57
文章 姚 鑫 · 四月 20, 2021 阅读大约需 13 分钟 第四章 缓存查询(一) 第四章 缓存查询(一) 系统自动维护已准备好的SQL语句(“查询”)的缓存。这允许重新执行SQL查询,而无需重复优化查询和开发查询计划的开销。缓存查询是在准备某些SQL语句时创建的。准备查询发生在运行时,而不是在编译包含SQL查询代码的例程时。通常,PREPARE紧跟在SQL语句的第一次执行之后,但在动态SQL中,可以准备查询而不执行它。后续执行会忽略PREPARE语句,转而访问缓存的查询。要强制对现有查询进行新的准备,必须清除缓存的查询。 所有SQL调用都会创建缓存查询,无论是在ObjectScript例程中调用还是在类方法中调用。 - 动态SQL、ODBC、JDBC和$SYSTEM.SQL.DDLImport()方法在准备查询时创建缓存查询。管理门户执行SQL接口、InterSystems SQL Shell和%SYSTEM.SQL.Execute()方法使用动态SQL,因此使用准备操作来创建缓存查询。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 24
文章 姚 鑫 · 五月 3, 2021 阅读大约需 6 分钟 第二章 全局变量结构(一) 第二章 全局变量结构(一) 本章描述全局变量的逻辑视图,并概述全局变量是如何在磁盘上物理存储的。 全局变量的逻辑结构 全局变量是存储在物理InterSystems IRIS®数据库中的命名多维数组。 在应用程序中,全局变量到物理数据库的映射基于当前名称空间——名称空间提供一个或多个物理数据库的逻辑统一视图。 全局命名约定和限制 全局名称指定其目标和用途。有两种类型的全局变量和一组单独的变量,称为“进程私有全局变量”: - 全局变量 - 这就是所谓的标准全局变量;通常,这些变量被简称为全局变量。它是驻留在当前命名空间中的永久性多维数组。 - 扩展全局引用-这是位于当前命名空间以外的命名空间中的全局引用。 - 进程私有全局变量-这是一个数组变量,只有创建它的进程才能访问。 全局变量的命名约定如下: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 32
文章 姚 鑫 · 五月 15, 2021 阅读大约需 4 分钟 第一章 单元测试概述 第一章 单元测试概述 本教程的第一部分概述了单元测试。完成本教程的这一部分后,将能够: - 定义单元测试并区分单元测试和集成测试 - 列出单元测试的几个好处 - 描述InterSystems IRIS %UnitTest包和xUnit测试框架之间的相似性。 - 列出软件开发中测试优先方法经常声称的几个好处。 什么是单元测试? 单元测试是对单个代码模块的正确性的测试,例如,方法或类的测试。通常,开发人员在开发代码时为其代码创建单元测试。典型的单元测试是一种执行方法的方法,该方法测试并验证该方法是否为给定的一组输入生成了正确的输出。 单元测试不同于集成测试。集成测试验证了一组代码模块交互的正确性。单元测试仅单独验证代码模块的正确性。一组代码模块的集成测试可能会失败,即使每个模块都通过了单元测试。 为什么要进行单元测试? 单元测试提供了许多好处,包括: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 14
文章 Lele Yang · 七月 13, 2021 阅读大约需 2 分钟 FAQ 常见问题系列--互操作篇 使用SQL Outbound Adapter调用Oracle存储过程获取CLOB的正确方式 近日遇到客户反映在Business Operation中使用SQL Outbound Adapter调用Oracle存储过程时,无法获取CLOB完整的返回内容。借此在这里介绍下该如何调用,话不多说,直接上代码。 注意,以下代码片段直接应用于Business Operation中, #SQL #全球响应中心 (WRC) 0 0 0 40
文章 姚 鑫 · 九月 13, 2021 阅读大约需 9 分钟 第十五章 SQL命令 CREATE TABLE(二) 第十五章 SQL命令 CREATE TABLE(二) 全局临时表 指定GLOBAL TEMPORARY关键字将表定义为全局临时表。表定义是全局的(对所有进程都可用);表数据是临时的(在进程期间持续存在)。相应的类定义包含一个附加的类参数SQLTABLETYPE=“GLOBAL TEMPORARY”。与标准的 IRIS表一样,ClassType=Persistent,并且类包含Final关键字,表示它不能有子类。 无论哪个进程创建临时表,临时表的所有者都会自动设置为_PUBLIC。这意味着所有用户都可以访问缓存的临时表定义。例如,如果存储过程创建了一个临时表,则允许调用该存储过程的任何用户都可以访问该表定义。这仅适用于临时表定义;临时表数据特定于调用,因此只能由当前用户进程访问。 #SQL #Caché 0 0 0 40
文章 姚 鑫 · 九月 30, 2021 阅读大约需 3 分钟 第三十一章 SQL命令 DROP DATABASE 第三十一章 SQL命令 DROP DATABASE 删除数据库(命名空间)。 大纲 DROP DATABASE dbname [RETAIN_FILES] 参数 dbname - 要删除的数据库(命名空间)的名称。 RETAIN_FILES - 可选-如果指定,则不会删除物理数据库文件(IRIS.DAT文件)。默认情况下,删除.dat文件以及命名空间和其他数据库实体。 描述 DROP DATABASE命令删除命名空间及其关联的数据库。 指定的dbname是包含相应数据库文件的命名空间和目录的名称。指定dbname作为标识符。命名空间名称不区分大小写。如果指定的DBNAME命名空间不存在, IRIS将发出SQLCODE-340错误。 #SQL #Caché 0 0 0 22
文章 Muhammad Waseem · 十月 16, 2021 阅读大约需 2 分钟 如何使用HL7相應地更新結果參考範圍和異常標誌 在本文中,我將演示以下內容: 使用自定義實用程序函數從數據庫更新 ReferencesRange(OBX:7) 針對 ObservationIdentifier(OBX:3.1)[TestCode] 根據數據庫實用程序函數中的 ObservationIdentifier(OBX:3.1)[TestCode] 和 ObservationValue(OBX:5)[Result] 更新異常標誌 (OBX:8) 基於異常標誌的路由消息 (OBX:8) 以下是主要和轉換後的 HL7 2.5 ORU_R01 消息: #DTL #SQL #业务规则 #Ensemble #InterSystems IRIS for Health Open Exchange app 0 1 0 27
文章 姚 鑫 · 十月 31, 2021 阅读大约需 2 分钟 第六十二章 SQL命令 OPEN 第六十二章 SQL命令 OPEN 打开游标。 大纲 OPEN cursor-name 参数 cursor-name - 游标的名称,已经声明过了。 游标名称是在DECLARE语句中指定的。 游标名称区分大小写。 描述 OPEN语句根据游标的DECLARE语句中指定的参数打开游标。 一旦打开,就可以获取游标。 打开的游标必须关闭。 试图打开未声明的游标会出现SQLCODE -52错误。 试图打开已经打开的游标会导致SQLCODE -101错误。 试图获取或关闭未打开的游标将导致SQLCODE -102错误。 成功的OPEN设置SQLCODE = 0,即使结果集是空的。 #SQL #Caché 0 0 0 13
文章 姚 鑫 · 十一月 16, 2021 阅读大约需 4 分钟 第七十八章 SQL命令 TUNE TABLE 第七十八章 SQL命令 TUNE TABLE 基于代表性数据调优表。 大纲 TUNE TABLE tablename [ tune_options ] 参数 tablename - 要调优的现有表的名称。 表名可以是限定的(schema.table),也可以是非限定的(table)。 非限定表名接受默认模式名。 tune_options - 可选—如果指定,一个或多个TUNE TABLE选项,以任意顺序指定,由空格分隔。 这些tune_options不区分大小写。 描述 TUNE TABLE命令根据表中当前的数据对现有表进行调优。 该数据应该代表表完全填充时所期望的数据。 #SQL #Caché 0 0 0 13
文章 姚 鑫 · 十二月 17, 2021 阅读大约需 1 分钟 第十八章 SQL谓词 SOME 第十八章 SQL谓词 SOME 将值与子查询中的至少一个匹配值匹配。 #SQL #Caché 0 0 0 7
文章 姚 鑫 · 一月 4 阅读大约需 6 分钟 第十四章 SQL窗口函数概述(一) 第十四章 SQL窗口函数概述(一) 指定用于计算聚合和排名的每行“窗口框架”的函数。 窗口函数和聚合函数 在应用WHERE、GROUP by和HAVING子句之后,窗口函数对SELECT查询选择的行进行操作。 窗口函数将一组行中的一个(或多个)字段的值组合在一起,并在结果集中为生成的列中的每一行返回一个值。 虽然窗口函数与聚合函数类似,因为它们将多行结果组合在一起,但它们与聚合函数的不同之处在于,它们本身并不组合行。 窗函数的语法 窗口函数被指定为SELECT查询中的选择项。 窗口函数也可以在SELECT查询的ORDER BY子句中指定。 窗口函数执行与由PARTITION by子句、ORDER by子句和ROWS子句指定的逐行窗口相关的任务,并为每一行返回一个值。 这三个子句都是可选的,但是如果指定了,必须按照以下语法中的顺序指定: #SQL #Caché 0 0 0 27
文章 姚 鑫 · 一月 22 阅读大约需 8 分钟 第三十一章 SQL函数 CONVERT 第三十一章 SQL函数 CONVERT 将给定表达式转换为指定数据类型的函数。 CONVERT(datatype,expression[,format-code]) {fn CONVERT(expression,datatype)} 参数 expression - 要转换的表达式。 datatype - 要将表达式转换为的数据类型。 format - 可选-指定日期和时间格式的整数代码,用于在日期/时间/时间戳数据类型和字符数据类型之间进行转换。 此参数仅用于通用标量语法形式。 描述 这里描述了CONVERT函数的两种不同实现。 两者都将一种数据类型中的表达式转换为另一种数据类型中的相应值。 两者都执行日期和时间转换。 #SQL #Caché 0 0 0 9
文章 姚 鑫 · 二月 6 阅读大约需 1 分钟 第四十六章 SQL函数 DAY 第四十六章 SQL函数 DAY 返回日期表达式的月份日期的日期函数。 大纲 DAY(date-expression) {fn DAY(date-expression)} 参数 date-expression - 作为列名、另一个标量函数的结果或日期或时间戳文字的表达式。 描述 注意:DAY函数是DAYOFMONTH函数的别名。提供DAY是为了与TSQL兼容。 SELECT day("2022-02-28") AS day 28 SELECT day(+$h) AS day 5 #SQL #Caché 0 0 0 13
文章 姚 鑫 · 二月 20 阅读大约需 4 分钟 第六十章 SQL函数 GETUTCDATE 第六十章 SQL函数 GETUTCDATE 日期/时间函数,返回当前UTC日期和时间。 大纲 GETUTCDATE([precision]) 参数 precision - 可选-一个正整数,指定时间精度为小数秒的位数。 默认值是0(没有小数秒); 这个默认值是可配置的。 描述 GETUTCDATE返回通用时间常数(UTC)日期和时间作为时间戳。由于UTC时间在地球上的任何地方都是相同的,不依赖于当地时区,也不受当地时差(如夏令时)的影响,因此当不同时区的用户访问同一数据库时,此函数对于应用一致的时间戳非常有用。 #SQL #Caché 0 0 0 11
文章 姚 鑫 · 三月 8 阅读大约需 1 分钟 第七十五章 SQL函数 LEFT 第七十五章 SQL函数 LEFT 标量字符串函数,返回从字符串表达式的开始(最左位置)开始的指定数量的字符。 大纲 {fn LEFT(string-expression,count)} 参数 string-expression - 字符串表达式,它可以是列的名称、字符串字面值或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(如CHAR或VARCHAR)。 count - 整数,指定从字符串表达式的起始位置返回的字符数。 描述 LEFT返回从字符串开始的指定字符数。LEFT不填充字符串; 如果指定的字符数大于字符串中的字符数,则LEFT返回该字符串。 如果传递给任何一个参数一个NULL值,左返回NULL。 LEFT只能用作ODBC标量函数(使用花括号语法)。 #SQL #Caché 0 0 0 7
文章 姚 鑫 · 三月 24 阅读大约需 2 分钟 第九十一章 SQL函数 LOWER 第九十一章 SQL函数 LOWER 将字符串表达式中的所有大写字母转换为小写字母的大小写转换函数。 大纲 LOWER(string-expression) 参数 string-expression - 要将其字符转换为小写的字符串表达式。表达式可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR)。 描述 LOWER 函数将大写字母转换为小写字母以供显示。这是 UPPER 函数的逆函数。 LOWER 对非字母字符没有影响。它保留不变的标点符号、数字以及前导和尾随空格。 LOWER 不强制将数字解释为字符串。 SQL 将数字转换为规范形式,删除前导零和尾随零。指定为字符串的数字不会转换为规范形式,并保留前导零和尾随零。 LCASE 函数也可用于将大写字母转换为小写字母。 #SQL #Caché 0 0 0 9
文章 姚 鑫 · 四月 8 阅读大约需 1 分钟 第106章 SQL函数 PI 第106章 SQL函数 PI 返回pi常数值的标量数值函数。 大纲 {fn PI()} {fn PI} 描述 PI不接受参数。 它返回数学常数pi作为数据类型NUMERIC,精度为19,刻度为18。 PI只能使用ODBC标量函数(花括号)语法调用。 请注意,参数括号是可选的。 描述 下面的例子都返回pi的值: SELECT {fn PI()} AS ExactPi 3.141592653589793238 SELECT {fn PI} AS ExactPi 3.141592653589793238 #SQL #Caché 0 0 0 5
文章 姚 鑫 · 四月 23 阅读大约需 2 分钟 第121章 SQL函数 RPAD 第121章 SQL函数 RPAD 字符串函数,它返回一个右填充到指定长度的字符串。 #SQL #Caché 0 0 0 7
文章 姚 鑫 · 五月 6 阅读大约需 2 分钟 第134章 SQL函数 STUFF 第134章 SQL函数 STUFF 字符串函数,用于替换字符串中的子字符串。 #SQL #Caché 0 0 0 6
文章 姚 鑫 · 22 hr 前 阅读大约需 4 分钟 第149章 SQL函数 TRIM 第149章 SQL函数 TRIM 字符串函数,它返回删除了指定的前导和/或尾随字符的字符串。 #SQL #Caché 0 0 0 3
文章 Nicky Zhu · 一月 18, 2021 阅读大约需 4 分钟 活用数据库审计日志跟踪数据操作 在最近的项目里,多方同时连接同一个数据库并执行增删改查等各项数据操作。研发人员不时发现一些数据在不合规的情况下被新增甚至删除。因此,在实际工作中会有监控数据操作以便识别和处理异常操作的需求。本文将以监控和识别删除操作为例,介绍如何通过IRIS的审计功能实现对数据操作的监控和查询。 #API #DTL #错误处理 #监视 #SQL #数据库 #系统管理 #问题追踪 #InterSystems IRIS 0 0 0 66
文章 姚 鑫 · 三月 17, 2021 阅读大约需 9 分钟 第十二章 使用嵌入式SQL(一) 第十二章 使用嵌入式SQL(一) 可以将SQL语句嵌入InterSystemsIRIS®数据平台使用的ObjectScript代码中。这些嵌入式SQL语句在运行时转换为优化的可执行代码。 嵌入式SQL有两种: 一个简单的嵌入式SQL查询只能返回单行中的值。简单嵌入式SQL还可以用于单行插入,更新和删除以及其他SQL操作。 基于游标的嵌入式SQL查询可以遍历查询结果集,并从多行中返回值。基于游标的嵌入式SQL也可以用于多行更新和删除SQL操作。 注意:嵌入式SQL不能输入到Terminal命令行,也不能在XECUTE语句中指定。要从命令行执行SQL,请使用$SYSTEM.SQL.Execute()方法或SQL Shell接口。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 120