文章 姚 鑫 · 四月 2, 2022 阅读大约需 2 分钟 第100章 SQL函数 NULLIF 第100章 SQL函数 NULLIF 如果两个表达式具有相同的值,则返回 NULL 的函数。 大纲 NULLIF(expression1,expression2) 参数 expression1 - 表达式,可以是列名、数字或字符串文字、主变量或另一个标量函数的结果。 expression2 - 表达式,可以是列名、数字或字符串文字、主变量或另一个标量函数的结果。 NULLIF 返回与 expression1 相同的数据类型。 描述 如果 expression1 的值等于 expression2 的值,则 NULLIF 函数返回 NULL。否则,它返回 expression1 值。 NULLIF 等价于: #SQL #Caché 0 0 0 24
文章 姚 鑫 · 六月 25, 2022 阅读大约需 2 分钟 第十章 设置结构化日志记录(二) 第十章 设置结构化日志记录(二) 注:IRIS有,Cache无。 启用结构化日志记录 ^LOGDMN 例程允许管理结构化日志记录;还有一个基于类的 API,将在下一节中介绍。 要使用 ^LOGDMN 启用结构化日志记录: 打开终端并输入以下命令: set $namespace="%sys" do ^LOGDMN 这将启动一个带有以下提示的例程: #SQL #Caché 0 0 0 24
文章 姚 鑫 · 五月 5, 2022 阅读大约需 3 分钟 第133章 SQL函数 STRING 第133章 SQL函数 STRING 将表达式转换并连接成字符串的函数。 大纲 STRING(string1[,string2][,...][,stringN]) 参数 string - 表达式,可以是字段名称、字符串文字、数字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR)。如果指定了字段名称,则使用逻辑值。 描述 STRING 将一个或多个字符串转换为 STRING 格式,然后将这些字符串连接成一个字符串。不执行大小写转换。 STRING 在字符串转换之前将数字转换为其规范形式。因此,它执行算术运算,从数字中删除前导和尾随零以及前导加号。 #SQL #Caché 0 0 0 24
文章 姚 鑫 · 一月 16, 2022 阅读大约需 1 分钟 第二十五章 SQL函数 CHAR 第二十五章 SQL函数 CHAR 返回具有在字符串表达式中指定的ASCII代码值的字符的字符串函数。 大纲 CHAR(code-value) {fn CHAR(code-value)} 参数 code-value - 与字符相对应的整数代码。 描述 Char返回与指定的整数代码值对应的字符。因为 IRIS是UNICODE系统,所以可以为任何UNICODE字符指定整数代码,从0到65535。如果code-value是超出允许值范围的整数,则CHAR返回NULL。 如果代码值是非数字字符串,则CHAR返回一个空字符串('')。如果传递空值,CHAR返回NULL。 #SQL #Caché 0 0 0 24
文章 姚 鑫 · 十二月 13, 2021 阅读大约需 1 分钟 第十四章 SQL谓词 IS NULL 第十四章 SQL谓词 IS NULL 确定一个数据值是否为NULL。 大纲 scalar-expression IS [NOT] NULL 描述 IS NULL谓词检测未定义的值。 可以检测到所有空值,或所有非空值: SELECT Name, FavoriteColors FROM Sample.Person WHERE FavoriteColors IS NULL SELECT Name, FavoriteColors FROM Sample.Person WHERE FavoriteColors IS NOT NULL IS NULL / IS NOT NULL谓词是少数几个可以在WHERE子句中用于流字段的谓词之一。 如下面的例子所示: #SQL #Caché 0 0 0 24
文章 姚 鑫 · 四月 6, 2022 阅读大约需 2 分钟 第104章 SQL函数 %ODBCOUT 第104章 SQL函数 %ODBCOUT 以 ODBC 格式返回表达式的格式转换函数。 大纲 %ODBCOUT(expression) %ODBCOUT expression 参数 expression - 要转换的表达式。字段名称、包含字段名称的表达式或以可转换数据类型(例如 DATE 或 %List)返回值的函数。不能是流字段。 描述 %ODBCOUT 在通过字段或数据类型的 LogicalToOdbc 方法传递值后以 ODBC 格式返回表达式。 ODBC 格式是可以通过 ODBC 呈现数据的格式。当数据暴露给 ODBC/SQL 时使用这种格式。可用的格式对应于 ODBC 定义的格式。 #SQL #Caché 0 0 0 24
文章 he hf · 四月 24 阅读大约需 2 分钟 SqlDbx连接IRIS攻略new SqlDbx是我们常用的数据库查询与操作工具,因其轻量且无须安装而无处不在,然而习惯了在Intersystems的CACHE和ENSEMBLE版本下使用SqlDbx在升级到IRIS版本后却无法使用了,为此进行了一系列尝试,并最终获得成功,形成本文攻略,分享给大家。 1、在SqlDbx的连接登录窗口,从DBMS Type中直接选择 “InterSystems CACHE”连接IRIS会报错,提示“通过IRISconnect失败”,说明“InterSystems CACHE”不再适用于IRIS。 #ODBC #SQL #数据库 #InterSystems IRIS 1 0 0 24
文章 姚 鑫 · 十一月 12, 2021 阅读大约需 9 分钟 第七十四章 SQL命令 SET TRANSACTION 第七十四章 SQL命令 SET TRANSACTION 设置事务的参数。 #SQL #Caché 0 0 0 24
文章 姚 鑫 · 十一月 15, 2021 阅读大约需 6 分钟 第七十七章 SQL命令 TRUNCATE TABLE 第七十七章 SQL命令 TRUNCATE TABLE 从表中删除所有数据并重置计数器。 #SQL #Caché 0 0 0 24
文章 姚 鑫 · 十二月 21, 2021 阅读大约需 7 分钟 第一章 聚合函数概述 第一章 聚合函数概述 计算列的所有值并返回单个聚合值的函数。 支持聚合函数 聚合函数执行与单个列中的一个或多个值相关的任务,并返回单个值。 支持的功能有: #SQL #Caché 0 0 0 24
文章 姚 鑫 · 十一月 2, 2021 阅读大约需 5 分钟 第六十四章 SQL命令 ORDER BY(二) 第六十四章 SQL命令 ORDER BY(二) 示例 下面的示例按照RowID的反向顺序对记录进行排序: SELECT %ID,Name FROM Sample.Person ORDER BY %ID DESC 下面两个示例展示了在ORDER BY子句中指定排序列的不同方法。 下面两个查询是等价的; 第一种方法使用列名作为排序项,第二种方法使用列号(选择项列表中项目的序号): #SQL #Caché 0 0 0 24
文章 姚 鑫 · 六月 20, 2022 阅读大约需 4 分钟 第五章 操作位和位串 第五章 操作位和位串 有时可能希望在基于数据平台的应用程序中存储一系列相关的布尔值。可以创建许多布尔变量,也可以将它们存储在数组或列表中。或者可以使用称为“位串”的概念,它可以定义为位序列,首先呈现最低有效位。位串允许您以非常有效的方式存储此类数据,无论是在存储空间还是处理速度方面。 位串可以以两种方式之一存储,作为压缩字符串或整数。如果在没有上下文的情况下听到术语“位串”,则表示位序列存储为压缩字符串。本文向介绍了这两种类型的位串,然后介绍了一些可用于操作它们的技术。 将位序列存储为位串 存储位序列的最常见方式是在位串中,这是一种特殊的压缩字符串。除了节省存储空间外,还可以使用 ObjectScript 系统函数有效地操作位串。 这样的系统函数是 $factor,它将整数转换为位串。我们可以通过执行以下语句将整数 11744 转换为位串: set bitstring = $factor(11744) 要查看位串内容的表示,可以使用 zwrite 命令: #SQL #Caché 0 0 0 24
文章 姚 鑫 · 十二月 8, 2021 阅读大约需 5 分钟 第九章 SQL谓词 FOR SOME %ELEMENT 第九章 SQL谓词 FOR SOME %ELEMENT 将列表元素值或列表元素的数量与谓词匹配。 #SQL #Caché 0 0 0 23
文章 姚 鑫 · 四月 20, 2022 阅读大约需 2 分钟 第118章 SQL函数 REVERSE 第118章 SQL函数 REVERSE 标量字符串函数,它以相反的字符顺序返回一个字符串。 大纲 REVERSE(string-expression) 参数 string-expression - 要反转的字符串表达式。表达式可以是列名、字符串文字、数字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR)。 描述 REVERSE 返回字符顺序颠倒的字符串表达式。例如 'Hello World!' 返回为 '!dlroW olleH'。这是一个简单的字符串顺序反转,没有额外的处理。 返回的字符串是数据类型 VARCHAR,与输入值的数据类型无关。数字转换为规范形式,数字字符串在反转之前不会转换为规范形式。 前导和尾随空白不受反转的影响。 反转 NULL 值会导致 NULL。 #SQL #Caché 0 0 0 23
文章 姚 鑫 · 三月 20, 2022 阅读大约需 4 分钟 第八十七章 SQL函数 $LISTSAME 第八十七章 SQL函数 $LISTSAME 比较两个列表并返回布尔值的列表函数。 大纲 $LISTSAME(list1,list2) 参数 list1 - 计算结果为有效列表的表达式。 list2 - 计算结果为有效列表的表达式。 描述 $LISTSAME 比较两个列表的内容,如果列表相同则返回 1。如果列表不相同,则 $LISTSAME 返回 0。$LISTSAME 逐个元素地比较两个列表。对于两个相同的列表,它们必须包含相同数量的元素,并且 list1 中的每个元素必须与 list2 中的相应元素匹配。 #SQL #Caché 0 0 0 23
文章 姚 鑫 · 四月 5, 2022 阅读大约需 1 分钟 第103章 SQL函数 %ODBCIN 第103章 SQL函数 %ODBCIN 以逻辑格式返回表达式的格式转换函数。 大纲 %ODBCIN(expression) %ODBCIN expression 参数 expression - 要转换的表达式。 描述 %ODBCIN 在通过字段或数据类型的 OdbcToLogical 方法传递值后以逻辑格式返回表达式。逻辑格式是数据的内存格式(执行操作的格式)。 %ODBCIN 是一个 SQL 扩展。 示例 以下示例显示了同一字段的默认显示格式、%ODBCIN 和 %ODBCOUT 格式。 #SQL #Caché 0 0 0 23
文章 姚 鑫 · 十一月 27, 2021 阅读大约需 4 分钟 第八十九章 SQL命令 WHERE(二) 第八十九章 SQL命令 WHERE(二) 相等比较谓词 下面是可用的相等比较谓词: Predicate Operation = Equals <> Does not equal != Does not equal > Is greater than < Is less than >= Is greater than or equal to <= Is less than or equal to 例如: #SQL #Caché 0 0 0 23
文章 姚 鑫 · 四月 25, 2022 阅读大约需 2 分钟 第123章 SQL函数 SEARCH_INDEX 第123章 SQL函数 SEARCH_INDEX 从索引的 Find() 方法返回一组值的函数。 #SQL #Caché 0 0 0 23
文章 姚 鑫 · 五月 28, 2022 阅读大约需 2 分钟 第155章 SQL函数 UPPER 第155章 SQL函数 UPPER 将字符串表达式中的所有小写字母转换为大写字母的大小写转换函数。 大纲 UPPER(expression) UPPER expression 参数 expression - 字符串表达式,可以是列名、字符串文字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR)。 描述 UPPER 函数将所有字母字符转换为大写字母。这是 LOWER 函数的反函数。 UPPER 保留不变的数字、标点符号和前导或尾随空格。 UPPER 不强制将数字解释为字符串。 SQL 从数字中删除前导零和尾随零。指定为字符串的数字保留前导零和尾随零。 也可以使用 UPPER() 方法调用从 ObjectScript 调用此函数: #SQL #Caché 0 0 0 23
文章 姚 鑫 · 十二月 19, 2021 阅读大约需 5 分钟 第二十章 SQL谓词 %STARTSWITH(二) 第二十章 SQL谓词 %STARTSWITH(二) 首尾空格 在大多数情况下,%STARTSWITH将前导空格视为与任何其他字符相同的字符。 例如,%STARTSWITH ' B'可用于选择只有一个前导空白后跟字母B的字段值。然而,只包含空白的子字符串不能选择前导空白; 它选择非空值。 尾随空格的%STARTSWITH行为取决于数据类型和排序规则类型。%STARTSWITH忽略定义为SQLUPPER的字符串子串的尾随空格。%STARTSWITH不会忽略数字、日期或列表子字符串中的尾随空格。 在下面的示例中,%STARTSWITH将结果集限制为以“M”开头的名称。 因为Name是一个SQLUPPER字符串数据类型,子字符串的末尾空格将被忽略: #SQL #Caché 0 0 0 23
文章 姚 鑫 · 一月 11, 2022 阅读大约需 1 分钟 第二十一章 SQL函数 ATAN2 第二十一章 SQL函数 ATAN2 接受两个坐标并返回以弧度为单位的反正切角的标量数值函数。 注意:IRIS可用,IRIS以下不可用。 大纲 {fn ATAN2(y,x)} 参数 y - 指定y轴坐标的数值表达式。 x - 指定x轴坐标的数值表达式。 ATAN2返回NUMERIC或DOUBLE数据类型。 如果数值表达式是数据类型DOUBLE, ATAN2返回DOUBLE; 否则,返回NUMERIC。 #SQL #Caché 0 0 0 22
文章 姚 鑫 · 一月 13, 2022 阅读大约需 3 分钟 第二十三章 SQL函数 CAST(二) 第二十三章 SQL函数 CAST(二) 转换位值 可以将expr值转换为BIT以返回0或1。 如果expr为1或任何其他非零数值,则返回1。 如果expr为“TRUE”、“TRUE”或“TRUE”,则返回1。 (“True”可以用任何大小写组合表示,但不能缩写为“T”。) 如果expr是任何其他非数值值,则返回0。 如果expr为0,则返回0。 在下面的例子中,前5个CAST操作返回1,后5个CAST操作返回0: #SQL #Caché 0 0 0 22
文章 姚 鑫 · 三月 18, 2022 阅读大约需 5 分钟 第八十五章 SQL函数 $LISTGET 第八十五章 SQL函数 $LISTGET 返回列表中的元素或指定默认值的列表函数。 大纲 $LISTGET(list[,position[,default]]) 参数 list - 计算结果为有效列表的表达式。列表是包含一个或多个元素的编码字符串。可以使用 SQL 或 ObjectScript 的 $LISTBUILD 或 $LISTFROMSTRING 函数创建列表。可以使用 SQL 或 ObjectScript $LIST 函数从现有列表中提取列表。 position - 可选 — 解释为指定列表中的位置的表达式。 default - 可选 — 如果列表元素具有未定义的值,则该表达式提供要返回的值。 描述 $LISTGET 将指定列表中的请求元素作为标准字符串返回。如果位置参数的值引用不存在的成员或标识具有未定义值的元素,则返回指定的默认值。 #SQL #Caché 0 0 0 22
文章 姚 鑫 · 一月 14, 2022 阅读大约需 2 分钟 第二十四章 SQL函数 CEILING 第二十四章 SQL函数 CEILING 数值函数,返回大于或等于给定数值表达式的最小整数。 大纲 CEILING(numeric-expression) {fn CEILING(numeric-expression)} 参数 numeric-expression - 要计算其上限的数字。 CELING返回与NUMERIC-EXPRESSION相同的数据类型。 描述 CELING返回大于或等于NUMERIC-EXPRESSION的最接近的整数值。返回值的小数位数为0。当numeric-expression为NULL值、空字符串(‘’)或任何非数字字符串时,CELING返回NULL。 #SQL #Caché 0 0 0 22
文章 姚 鑫 · 三月 19, 2022 阅读大约需 4 分钟 第八十六章 SQL函数 $LISTLENGTH 第八十六章 SQL函数 $LISTLENGTH 返回指定列表中元素数量的列表函数。 大纲 $LISTLENGTH(list) 参数 list- 计算结果为有效列表的表达式。列表是包含一个或多个元素的编码字符串。您可以使用 SQL 或 ObjectScript 的 $LISTBUILD 或 $LISTFROMSTRING 函数创建列表。您可以使用 SQL 或 ObjectScript $LIST 函数从现有列表中提取列表。 描述 $LISTLENGTH 返回列表中元素的数量。 此函数返回 SMALLINT 类型的数据。 示例 以下嵌入式 SQL 示例返回 3,因为列表中有 3 个元素: #SQL #Caché 0 0 0 22
文章 姚 鑫 · 二月 7, 2022 阅读大约需 2 分钟 第四十七章 SQL函数 DAYNAME 第四十七章 SQL函数 DAYNAME Date函数,它返回日期表达式的星期几的名称。 大纲 {fn DAYNAME(date-expression)} 参数 date-expression - 计算结果为日期整数、ODBC日期或时间戳的表达式。该表达式可以是列名、另一个标量函数的结果或日期或时间戳文字。 描述 DAYNAME返回与指定日期对应的日期的名称。返回值为字符串,最大长度为15。默认返回的日期名称为:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday。 要更改这些默认日期名称值,请使用带有WEEKDAY_NAME选项的SET OPTION命令。 #SQL #Caché 0 0 0 22
文章 姚 鑫 · 一月 28, 2022 阅读大约需 3 分钟 第三十六章 SQL函数 CURRENT_TIME 第三十六章 SQL函数 CURRENT_TIME 返回当前本地时间的日期/时间函数。 大纲 CURRENT_TIME CURRENT_TIME(precision) 参数 precision - 一个正整数,它将时间精度指定为小数位数。默认值为0(无小数秒);此默认值是可配置的。 CURRENT_TIME返回时间数据类型。 描述 CURRENT_TIME要么不带参数,要么带精度参数。不允许使用空参数括号。 CURRENT_TIME返回此时区的当前本地时间。它会根据当地时间变化(如夏令时)进行调整。 逻辑模式下的CURRENT_TIME以$HOROLOG格式返回当前本地时间;例如,37065。显示模式下的当前时间以区域设置的默认格式返回当前本地时间;例如,10:18:27。 #SQL #Caché 0 0 0 22
文章 姚 鑫 · 六月 22, 2022 阅读大约需 4 分钟 第七章 操作位和位串(三) 第七章 操作位和位串(三) 操作位串 要创建新的位串,请使用 $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 会返回错误: #SQL #Caché 0 0 0 21
文章 姚 鑫 · 十二月 10, 2021 阅读大约需 8 分钟 第十一章 SQL谓词 %INLIST 第十一章 SQL谓词 %INLIST 将一个值匹配到%List结构化列表中的元素。 #SQL #Caché 0 0 0 21
文章 姚 鑫 · 一月 23, 2022 阅读大约需 1 分钟 第三十二章 SQL函数 COS 第三十二章 SQL函数 COS 标量数值函数,返回一个角的余弦值(以弧度为单位)。 大纲 {fn COS(numeric-expression)} 参数 numeric-expression - 数值表达式。 这是一个用弧度表示的角。 COS返回NUMERIC或DOUBLE数据类型。 如果数值表达式是数据类型DOUBLE, COS返回DOUBLE; 否则,返回NUMERIC。 #SQL #Caché 0 0 0 21