文章 姚 鑫 · 十二月 7, 2021 阅读大约需 4 分钟 第八章 SQL谓词 FOR SOME 第八章 SQL谓词 FOR SOME 确定是否根据字段值的条件测试返回记录。 大纲 FOR SOME (table [AS t-alias]) (fieldcondition) 参数 table - Table可以是单个表,也可以是用逗号分隔的表列表。 括号是必须的。 AS t-alias - 可选-前一个表名的别名。 别名必须是有效的标识符; 它可以是一个分隔符。 fieldcondition - fieldcondition 指定一个或多个引用一个或多个字段的条件表达式。 字段条件用括号括起来。 可以使用AND(&)和OR(!)逻辑操作符在字段条件中指定多个条件表达式。 #SQL #Caché 0 0 0 93
文章 姚 鑫 · 一月 9, 2022 阅读大约需 1 分钟 第十九章 SQL函数 ASIN 第十九章 SQL函数 ASIN 一个标量数值函数,返回角的正弦的反正弦(以弧度为单位)。 大纲 {fn ASIN(numeric-expression)} 参数 numeric-expression - 数值在-1到1之间的数值表达式。 这是这个角的正弦值。 ASIN返回NUMERIC或DOUBLE数据类型。 如果数值表达式是数据类型DOUBLE, ASIN返回DOUBLE; 否则,返回NUMERIC。 #SQL #Caché 0 0 0 93
文章 姚 鑫 · 三月 16, 2022 阅读大约需 4 分钟 第八十三章 SQL函数 $LISTFIND 第八十三章 SQL函数 $LISTFIND 列表函数,用于在指定列表中搜索请求的值。 #SQL #Caché 0 0 0 92
文章 Michael Lei · 五月 12, 2021 阅读大约需 28 分钟 通过 ML 与 IntegratedML 运行一些 Covid-19 ICU 预测(第一部分) 关键字:IRIS, IntegratedML, 机器学习, Covid-19, Kaggle 目的 最近,我注意到一个用于预测 Covid-19 患者是否将转入 ICU 的 Kaggle 数据集。 它是一个包含 1925 条病患记录的电子表格,其中有 231 列生命体征和观察结果,最后一列“ICU”为 1(表示是)或 0(表示否)。 任务是根据已知数据预测患者是否将转入 ICU。 这个数据集看起来是所谓的“传统 ML”任务的一个好例子。数据看上去数量合适,质量也相对合适。它可能更适合在 IntegratedML 演示套件上直接应用,那么,基于普通 ML 管道与可能的 IntegratedML 方法进行快速测试,最简单的方法是什么? #Artificial Intelligence (AI) #IntegratedML #SQL #Machine Learning (ML) #InterSystems IRIS Open Exchange app 0 0 0 92
文章 姚 鑫 · 四月 9, 2022 阅读大约需 7 分钟 第107章 SQL函数 $PIECE 第107章 SQL函数 $PIECE 返回由分隔符标识的子字符串的字符串函数。 #SQL #Caché 0 0 0 92
文章 Jingwei Wang · 八月 30, 2023 阅读大约需 5 分钟 使用 SQLAlchemy 将表传输到 IRIS 或从 IRIS 获取表 案例描述 假设您是一名 Python 开发人员或拥有一支训练有素的 Python 专业团队,但您分析 IRIS 中某些数据的期限很紧迫。当然,InterSystems 提供了许多用于各种分析和处理的工具。然而,在给定的场景中,最好使用旧的 Pandas 来完成工作,然后将 IRIS 留到下次使用。对于上述情况和许多其他情况,您可能需要从 IRIS 获取表来管理 InterSystems 产品之外的数据。但是,当您有任何格式(即 CSV、TXT 或 Pickle)的外部表时,您可能还需要以相反的方式执行操作,您需要在其上导入并使用 IRIS 工具。无论您是否必须处理上述问题,Innovatium让我明白,了解更多解决编码问题的方法总是能派上用场。好消息是,从 IRIS 引入表时,您不需要经历创建新表、传输所有行以及调整每种类型的繁琐过程。本文将向您展示如何通过几行代码快速将 IRIS 表转换为 Pandas 数据框架并向后转换。您可以在我的GitHub上查看代码,您可以在其中找到包含本教程每个步骤的 Jupiter Notebook。 #Innovatium #Python #SQL #InterSystems IRIS #Open Exchange 0 0 0 92
文章 姚 鑫 · 十二月 21, 2021 阅读大约需 7 分钟 第一章 聚合函数概述 第一章 聚合函数概述 计算列的所有值并返回单个聚合值的函数。 支持聚合函数 聚合函数执行与单个列中的一个或多个值相关的任务,并返回单个值。 支持的功能有: #SQL #Caché 0 0 0 92
文章 姚 鑫 · 二月 24, 2022 阅读大约需 3 分钟 第六十四章 SQL函数 INSTR 第六十四章 SQL函数 INSTR 返回子字符串在字符串中的位置的字符串函数,具有可选的搜索起始点和出现次数。 #SQL #Caché 0 0 0 92
文章 姚 鑫 · 十一月 26, 2021 阅读大约需 2 分钟 第八十八章 SQL命令 WHERE(一) 第八十八章 SQL命令 WHERE(一) 指定一个或多个限制性条件的SELECT子句。 大纲 SELECT fields FROM table WHERE condition-expression 参数 condition-expression - 由一个或多个布尔谓词组成的表达式,该谓词控制要检索的数据值。 描述 可选的WHERE子句可以用于以下目的: #SQL #Caché 0 0 0 91
文章 姚 鑫 · 一月 18, 2022 阅读大约需 3 分钟 第二十七章 SQL函数 CHARINDEX 第二十七章 SQL函数 CHARINDEX 一个字符串函数,它返回子字符串在字符串中的位置,具有可选的搜索起点。 大纲 CHARINDEX(substring,string[,start]) 参数 substring - 要在字符串中匹配的子字符串。 string - 作为子字符串搜索目标的字符串表达式。 start - 可选-子字符串搜索的起始点,指定为正整数。 从字符串开始的字符计数,从1开始计数。 若要从字符串的开头开始搜索,请忽略此参数或指定从0或1开始。 负数、空字符串、NULL或非数字值被视为0。 CHARINDEX返回INTEGER数据类型。 #SQL #Caché 0 0 0 91
文章 姚 鑫 · 五月 12, 2021 阅读大约需 4 分钟 第五章 管理全局变量(一) 第五章 管理全局变量(一) 管理门户提供管理全局变量的工具,系统类提供执行某些相同任务的方法。本章介绍如何使用这些工具。 一般建议 与ObjectScript命令SET、MERGE、KILL和其他命令一样,这里描述的工具提供了直接访问操作全局变量的权限。如果通过全局访问删除或修改,则会绕过所有对象和SQL完整性检查,并且没有撤消选项。因此,在执行这些任务时要非常小心,这一点很重要。(查看和导出不会影响数据库,并且是安全活动。) 使用本章中介绍的工具时,请确保以下事项: IRIS使用哪些全局变量。并不是所有这些都被视为“系统”全局变量-也就是说,即使没有选中“系统”复选框,它们中的一些也是可见的。其中一些全局变量存储代码,包括的代码。 确保知道应用程序使用哪些全局变量。 即使应用程序从不执行任何直接全局访问,应用程序也会使用全局变量。请记住,如果创建持久类,则它们的数据和任何索引都存储在全局变量中,全局变量的名称基于类名(默认情况下)。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 91
文章 姚 鑫 · 五月 30, 2022 阅读大约需 4 分钟 第157章 SQL函数 WEEK 第157章 SQL函数 WEEK 一个日期函数,它将一年中的第几周作为日期表达式的整数返回。 大纲 {fn WEEK(date-expression)} 参数 date-expression - 一个表达式,它是列的名称、另一个标量函数的结果,或者是日期或时间戳文字。 描述 WEEK 接受一个日期表达式,并返回该日期从年初开始的周数。 #SQL #Caché 0 0 0 91
文章 姚 鑫 · 十月 8, 2021 阅读大约需 4 分钟 第三十九章 SQL命令 DROP TRIGGER 第三十九章 SQL命令 DROP TRIGGER 删除触发器 大纲 DROP TRIGGER name [ FROM table ] 参数 name - 要删除的触发器的名称。触发器名称可以是限定的,也可以是非限定的;如果限定,则其架构名称必须与表的架构名称匹配。 FROM table - 可选-要从中删除触发器的表。如果指定了FROM子句,则只在表中搜索命名触发器。如果未指定FROM子句,则在NAME中指定的整个架构中搜索命名触发器。 描述 DROP TRIGGER命令删除触发器。如果要修改现有触发器,则必须先调用DROP TRIGGER删除旧版本的触发器,然后再调用CREATE TRIGGER。 注:DROP TABLE删除与该表关联的所有触发器。 #SQL #Caché 0 0 0 90
文章 姚 鑫 · 十二月 14, 2021 阅读大约需 7 分钟 第十五章 SQL谓词 LIKE 第十五章 SQL谓词 LIKE 用包含字面值和通配符的模式字符串匹配值。 #SQL #Caché 0 0 0 90
文章 姚 鑫 · 五月 14, 2021 阅读大约需 3 分钟 第六章 临时全局变量和IRISTEMP数据库 第六章 临时全局变量和IRISTEMP数据库 对于某些操作,可能需要全局变量的功能,而不需要无限期保存数据。例如,可能希望使用全局对某些不需要存储到磁盘的数据进行排序。对于这些操作,InterSystems IRIS提供了临时全局机制。该机制的工作方式如下: 对于应用程序名称空间,可以定义一个全局映射,以便将具有特定命名约定的全局变量映射到IRISTEMP数据库,该数据库是一个特殊的数据库,如下所述。 例如,可以定义一个全局映射,以便将名称为^AcmeTemp*的所有全局变量映射到IRISTEMP数据库。 - 当代码需要临时存储数据并再次读取它时,代码将向使用该命名约定的全局变量写入数据,并从全局变量读取数据。 例如,要保存值,代码可能会执行以下操作: set ^AcmeTempOrderApp("sortedarray")=some value 然后,稍后代码可能会执行以下操作: #SQL #Caché #Global Masters #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 90
文章 姚 鑫 · 五月 17, 2022 阅读大约需 4 分钟 第145章 SQL函数 TO_NUMBER 第145章 SQL函数 TO_NUMBER 将字符串表达式转换为 NUMERIC 数据类型的值的字符串函数。 大纲 TO_NUMBER(string-expression) TONUMBER(string-expression) 参数 string-expression - 要转换的字符串表达式。表达式可以是列名、字符串文字或另一个函数的结果,其中基础数据类型为 CHAR 或 VARCHAR2 类型。 描述 名称 TO_NUMBER 和 TONUMBER 可以互换。它们支持 Oracle 兼容性。 #SQL #Caché 0 0 0 89
文章 Jingwei Wang · 一月 19, 2023 阅读大约需 6 分钟 使用嵌入式 Python 创建存储过程 Python 已成为世界上使用最广泛的编程语言(来源:https://www.tiobe.com/tiobe-index/),SQL 作为数据库语言继续引领潮流。 Python 和 SQL 一起工作以提供 SQL 单独无法提供的新功能不是很好吗?毕竟,Python 拥有超过 380,000 个已发布的库(来源:https://pypi.org/),它们具有非常有趣的功能,可以在 Python 中扩展您的 SQL 查询。本文详细介绍了如何使用嵌入式 Python 在 InterSystems IRIS 数据库中创建新的 SQL 存储过程。 用作示例的 Python 库 本文将使用两个非常有用的库:Geopy 和 Chronyk。 Geopy 是一个用于将地理编码(地址和地理坐标的限定)应用于地址数据的库。有了它,就可以从街道名称中获取邮局格式的邮政编码和完整地址。非常有用,因为许多记录都有地址。 ##嵌入式 Python #Python #SQL #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 89
文章 姚 鑫 · 二月 2, 2022 阅读大约需 6 分钟 第四十二章 SQL函数 DATEADD 第四十二章 SQL函数 DATEADD 一个日期/时间函数,它返回一个时间戳,计算方法是在一个日期或时间戳中添加或减去若干日期部件单位(如小时或天)。 #SQL #Caché 0 0 0 89
文章 姚 鑫 · 一月 22, 2022 阅读大约需 8 分钟 第三十一章 SQL函数 CONVERT 第三十一章 SQL函数 CONVERT 将给定表达式转换为指定数据类型的函数。 CONVERT(datatype,expression[,format-code]) {fn CONVERT(expression,datatype)} 参数 expression - 要转换的表达式。 datatype - 要将表达式转换为的数据类型。 format - 可选-指定日期和时间格式的整数代码,用于在日期/时间/时间戳数据类型和字符数据类型之间进行转换。 此参数仅用于通用标量语法形式。 描述 这里描述了CONVERT函数的两种不同实现。 两者都将一种数据类型中的表达式转换为另一种数据类型中的相应值。 两者都执行日期和时间转换。 #SQL #Caché 0 0 0 89
文章 姚 鑫 · 十一月 20, 2021 阅读大约需 8 分钟 第八十二章 SQL命令 UPDATE(一) 第八十二章 SQL命令 UPDATE(一) 为指定表中的指定列设置新值。 #SQL #Caché 0 0 0 89
文章 Hao Ma · 四月 12 阅读大约需 3 分钟 IRIS/Caché SQL优化经验分享 - SQL性能的统计(SQL Statement) SQL性能监控是DBA最重要的日常工作。经常被问起:"Caché/IRIS怎么发现慢SQL"? 答案很简单: 到管理门户的SQL页面,点开如下的“SQL语句“子页, 您能看到这个命名空间的所有执行过的SQL语句,知道每个SQL语句执行了多少次,平均执行时间是多少, 被那个客户端编译的,第一次执行是那一天等等。 请看下面的截图 图中的各个栏目基本都不需要解释,有个别的内容在这里总结一些: 表/视图/存储过程名称:列出这个查询使用的所有的表/视图/存储过程的名字。如果你想看某个表有关的查询,可以使用上面的过滤器。 位置(Location) : 对于动态查询, 列出所使用的缓存的查询的类名,对于嵌入SQL(Embedded SQL)查询,列出使用的routine名字。 #SQL #新手 #InterSystems IRIS 0 2 0 88
文章 姚 鑫 · 二月 23, 2022 阅读大约需 8 分钟 第六十三章 SQL函数 IFNULL 第六十三章 SQL函数 IFNULL 测试NULL并返回适当表达式的函数。 #SQL #Caché 0 0 0 88
文章 姚 鑫 · 六月 2, 2022 阅读大约需 4 分钟 第160章 SQL函数 XMLFOREST 第160章 SQL函数 XMLFOREST 格式化多个 XML 标记以包含表达式值的函数。 #SQL #Caché 0 0 0 88
文章 姚 鑫 · 五月 1, 2022 阅读大约需 4 分钟 第129章 SQL函数 %SQLUPPER 第129章 SQL函数 %SQLUPPER 将值排序为大写字符串的排序规则函数。 大纲 %SQLUPPER(expression[,maxlen]) %SQLUPPER expression 参数 expression - 字符串表达式,可以是列名、字符串文字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR)。表达式可以是子查询。 maxlen - 可选 — 一个整数,指定整理后的值将被截断为 maxlen 的值。请注意, maxlen 包括附加的前导空格。您可以用双括号将 maxlen 括起来以抑制文字替换:((maxlen))。 描述 SQLUPPER 是默认排序规则。 #SQL #Caché 0 0 0 87
文章 姚 鑫 · 五月 17, 2021 阅读大约需 5 分钟 第三章 执行测试 第三章 执行测试 示例:执行测试 现在使用%UnitTest.Manager.RunTest执行单元测试。以下是方法: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 87
文章 姚 鑫 · 六月 23, 2022 阅读大约需 3 分钟 第八章 操作位和位串(四) 第八章 操作位和位串(四) 操作以整数形式实现的位串 设置位 要创建一个存储为整数的新位串,请对每个位求和 2 的幂: set bitint = (2**2) + (2**5) + (2**10) write bitint 1060 要将现有位串中的位设置为 1,请使用 $zboolean 函数(逻辑 OR)的选项7 (arg1 ! arg2): set bitint = $zboolean(bitint, 2**4, 7) write bitint 1076 要将现有位串中的位设置为 0,请使用 $zboolean 函数的选项 2 (arg1 & ~arg2): #SQL #Caché 0 0 0 87
文章 姚 鑫 · 一月 30, 2022 阅读大约需 1 分钟 第三十九章 SQL函数 DATABASE 第三十九章 SQL函数 DATABASE 返回数据库名称限定符的标量字符串函数。 大纲 {fn DATABASE()} 描述 DATABASE返回与连接句柄对应的数据库名称的当前限定符。 在IRIS中,DATABASE总是返回空字符串(")。 #SQL #Caché 0 0 0 87
文章 姚 鑫 · 六月 24, 2022 阅读大约需 4 分钟 第九章 设置结构化日志记录(一) 第九章 设置结构化日志记录(一) IRIS 支持结构化日志记录。 创建多个日志,每个日志用于不同的目的。从以前的产品迁移过来的客户可以像过去一样利用这些日志,但现在还可以将所有日志信息导入一个单一的、中央的、机器可读的日志文件——结构化日志。然后可以将此文件与第三方分析工具一起使用。 本文概述了结构化日志中的信息,展示了日志示例,并描述了如何启用结构化日志记录。 结构化日志中可用的信息 当启用结构化日志记录时,系统会将相同的数据写入结构化日志,它也会写入其他日志(无论哪个)。例如,系统将相同的行写入messages.log 和结构化日志。 启用结构化日志记录后,结构化日志包含以下所有信息: #SQL #Caché 0 0 0 87
文章 姚 鑫 · 九月 22, 2021 阅读大约需 3 分钟 第二十三章 SQL命令 CREATE USER 第二十三章 SQL命令 CREATE USER 创建用户帐户。 大纲 CREATE USER user-name IDENTIFY BY password CREATE USER user-name IDENTIFIED BY password 参数 user-name - 要创建的用户的名称。名称是最多128个字符的标识符。它可以包含Unicode字母。用户名不区分大小写。 password - 此用户的密码。密码必须至少为3个字符,并且不能超过32个字符。密码区分大小写。密码可以包含Unicode字符。 描述 CREATE USER命令使用指定的密码创建用户帐户。 #SQL #Caché 0 0 0 87
文章 姚 鑫 · 四月 4, 2022 阅读大约需 2 分钟 第102章 SQL函数 %OBJECT 第102章 SQL函数 %OBJECT 标量函数,它打开一个流对象并返回相应的 oref。 大纲 %OBJECT(stream) 参数 stream - 作为流字段名称的表达式。 描述 %OBJECT 用于打开一个流对象并返回流字段的 oref(对象引用)。 流字段上的 SELECT 返回流字段的完全形成的 oid(对象 ID)值。流字段上的 SELECT %OBJECT 返回流字段的 oref(对象引用)。这在以下示例中显示,其中 Notes 和 Picture 都是流字段: #SQL #Caché 0 0 0 87