文章
· 三月 24, 2022 阅读大约需 2 分钟
第九十一章 SQL函数 LOWER

第九十一章 SQL函数 LOWER

将字符串表达式中的所有大写字母转换为小写字母的大小写转换函数。

大纲

LOWER(string-expression)

参数

  • string-expression - 要将其字符转换为小写的字符串表达式。表达式可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR)。

描述

LOWER 函数将大写字母转换为小写字母以供显示。这是 UPPER 函数的逆函数。 LOWER 对非字母字符没有影响。它保留不变的标点符号、数字以及前导和尾随空格。

LOWER 不强制将数字解释为字符串。 SQL 将数字转换为规范形式,删除前导零和尾随零。指定为字符串的数字不会转换为规范形式,并保留前导零和尾随零。

LCASE 函数也可用于将大写字母转换为小写字母。

0 0
0 78
文章
· 四月 8, 2022 阅读大约需 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
0 0
0 82
文章
· 六月 9, 2022 阅读大约需 6 分钟
第四章 数据类型(三)

第四章 数据类型(三)

日期、时间、PosixTime 和时间戳数据类型

可以定义日期、时间和时间戳数据类型,并通过标准 SQL 日期和时间函数相互转换日期和时间戳。例如,可以使用 CURRENT_DATECURRENT_TIMESTAMP 作为使用该数据类型定义的字段的输入,或者使用 DATEADDDATEDIFFDATENAMEDATEPART 来操作使用该数据类型存储的日期值。

数据类型类 %Library.Date%Library.Time%Library.PosixTime%Library.TimeStamp%MV.Date 对于 SqlCategory 的处理方式如下:

0 0
0 155
文章
· 六月 26, 2022 阅读大约需 7 分钟
第十一章 信号(一)- 概念

第十一章 信号(一) - 概念

背景

维基百科对信号量有这样的定义:“在计算机科学中,特别是在操作系统中,信号量是一种变量或抽象数据类型,用于控制多个进程在并行编程或多用户环境中对公共资源的访问。”信号量不同于互斥体(或锁)。互斥锁最常用于管理竞争进程对单个资源的访问。当一个资源有多个相同的副本并且这些副本中的每一个都可以由单独的进程同时使用时,就会使用信号量。

考虑一个办公用品商店。它可能有几台复印机供其客户使用,但每台复印机一次只能由一个客户使用。为了控制这一点,有一组键可以启用机器并记录使用情况。当客户想要复印文件时,他们向职员索取钥匙,使用机器,然后归还钥匙,并支付使用费。如果所有机器都在使用,客户必须等到钥匙归还。保存键的位置用作信号量。

该示例可以进一步推广到包括不同类型的复印机,也许可以通过它们可以制作的副本的大小来区分。在这种情况下,将有多个信号量,如果复制者在复制的大小上有任何重叠,那么希望复制共同大小的客户将有两个资源可供提取。

0 0
0 137
文章
· 七月 14, 2022 阅读大约需 6 分钟
InterSystems SQL 的使用 - 第二部分 - 基础介绍

本文概述了InterSystems SQL的特点,特别是那些没有被SQL标准所涵盖或与InterSystems IRIS 数据平台的统一数据架构有关的特点。假定你已有SQL的知识,本文不是SQL概念或语法的介绍。

在InterSystems SQL中,数据是在表内呈现的。每个表都被定义为包含若干列。一个表可以包含零个或多个数据值的行。以下术语大致上是等同的。

0 0
0 557
文章
· 九月 18, 2023 阅读大约需 6 分钟
开发者作品展示--几乎实现的向量支持

如今,关于大语言模型、人工智能等的消息不绝于耳。向量数据库是其中的一部分,并且已经有非IRIS的技术实现了向量数据库。

为什么是向量?

  • 相似性搜索:向量可以进行高效的相似性搜索,例如在数据集中查找最相似的项目或文档。传统的关系数据库是为精确匹配搜索而设计的,不适合图像或文本相似性搜索等任务。
  • 灵活性:向量表示形式用途广泛,可以从各种数据类型派生,例如文本(通过 Word2Vec、BERT 等嵌入)、图像(通过深度学习模型)等。
  • 跨模态搜索:向量可以跨不同数据模态进行搜索。例如,给定图像的向量表示,人们可以在多模式数据库中搜索相似的图像或相关文本。

还有许多其他原因。

因此,对于这次 pyhon 竞赛,我决定尝试实现这种支持。不幸的是我没能及时完成它,下面我将解释原因。

0 0
0 130
文章
· 四月 10, 2024 阅读大约需 7 分钟
IRIS/Caché SQL优化经验分享 - 查询计划(Query Plan)

为什么要读Query Plan, 在线文档中有句话是这么说的:

While the SQL compiler tries to make the most efficient use of data as specified by the query, sometimes the author of the query knows more about some aspect of the stored data than is evident to the compiler. In this case, the author can make use of the query plan to modify the original query to provide more information or more guidance to the query compiler.

翻译一下是这样:系统给你的查询计划并不总是最好的,如果您能对查询计划,可以人工做更精细的优化。

0 0
0 114

适用于 InterSystems IRIS® 数据平台InterSystems IRIS® for HealthTMHealthShare® Health Connect 的维护版本 2024.1.42023.1.6 现已正式发布 (GA)。 这些版本包含对最近发布的以下提醒的修复 - 提醒:SQL 查询返回错误结果 | InterSystems。 请通过开发者社区分享您的反馈,以便我们可以共同打造更出色的产品。

0 0
0 18
文章
· 三月 11, 2021 阅读大约需 10 分钟
第八章 SQL修改数据库

第八章 SQL修改数据库

可以对现有的表使用SQL语句,也可以对相应的持久化类使用ObjectScript操作来修改InterSystems IRIS®数据平台数据库的内容。
不能修改定义为只读的持久类(表)。

使用SQL命令为维护数据的完整性提供了自动支持。
SQL命令是一个原子操作(全部或没有)。
如果表上定义了索引,SQL将自动更新它们以反映更改。
如果定义了任何数据或引用完整性约束,SQL将自动执行它们。
如果有任何已定义的触发器,执行这些操作将拉动相应的触发器。

插入数据

可以使用SQL语句或设置和保存持久化类属性将数据插入表中。

使用SQL插入数据

INSERT语句将一条新记录插入SQL表中。
可以插入一条记录或多条记录。

下面的示例插入一条记录。
它是插入单个记录的几种可用语法形式之一:

0 0
0 359
文章
· 三月 28, 2021 阅读大约需 7 分钟
第十三章 使用动态SQL(六)

第十三章 使用动态SQL(六)

%ObjectSelectMode = 1 Swizzling字段名称属性

下面的示例使用%ObjectSelectMode = 1进行准备,当使用字段名称属性返回值时,其类型类别为可Swizzle类型的字段(持久性类,序列类或流类)将自动发生Swizzle。转换字段值的结果是相应的对象参考(oref)。使用%Get()%GetData()方法访问字段时,InterSystems IRIS不会执行此筛选操作。在此示例中,rset.Home处于Swizzle状态,而引用同一字段的rset.%GetData(2)处于not swizzled状态:

0 0
0 169
文章
· 四月 15, 2021 阅读大约需 10 分钟
第二章 定义和构建索引(三)

#

第二章 定义和构建索引(三)

# 位图索引

位图索引是一种特殊类型的索引,它使用一系列位串来表示与给定索引数据值相对应的一组ID值。

位图索引具有以下重要功能:

  • 位图是高度压缩的:位图索引可以比标准索引小得多。这大大减少了磁盘和缓存的使用量。
  • 位图操作针对事务处理进行了优化:与使用标准索引相比,可以在表中使用位图索引,而不会降低性能。
  • 位图上的逻辑操作(countingANDOR)经过优化以获得高性能。
  • SQL引擎包括许多可以利用位图索引的特殊优化。

位图索引的创建取决于表的唯一标识字段的性质:

0 0
0 131
文章
· 五月 2, 2021 阅读大约需 5 分钟
第一章 简介global

第一章 简介global

InterSystems IRIS®的核心功能之一是其多维存储引擎。此功能允许应用程序以紧凑、高效的多维稀疏数组存储数据。这些数组称为全局数组。

本章介绍:
- 什么是全局变量(globals ),以及可以对其执行的操作。
- 全局变量的逻辑和物理结构,包括在分布式数据库体系结构中使用全局变量。
- 如何使用全局变量在应用程序中存储和检索数据。
- 如何使用全局变量。

特点

全局变量提供了一种在持久的多维数组中存储数据的易于使用的方法。

例如,可以使用名为^Settings的全局变量将值“Red”与键“Color”相关联:

SET ^Settings("Color")="Red"

可以利用全局变量的多维特性来定义更复杂的结构:

0 0
0 242
文章
· 五月 15, 2021 阅读大约需 4 分钟
第一章 单元测试概述

第一章 单元测试概述

本教程的第一部分概述了单元测试。完成本教程的这一部分后,将能够:
- 定义单元测试并区分单元测试和集成测试
- 列出单元测试的几个好处
- 描述InterSystems IRIS %UnitTest包和xUnit测试框架之间的相似性。
- 列出软件开发中测试优先方法经常声称的几个好处。

什么是单元测试?

单元测试是对单个代码模块的正确性的测试,例如,方法或类的测试。通常,开发人员在开发代码时为其代码创建单元测试。典型的单元测试是一种执行方法的方法,该方法测试并验证该方法是否为给定的一组输入生成了正确的输出。

单元测试不同于集成测试。集成测试验证了一组代码模块交互的正确性。单元测试仅单独验证代码模块的正确性。一组代码模块的集成测试可能会失败,即使每个模块都通过了单元测试。

为什么要进行单元测试?

单元测试提供了许多好处,包括:

0 0
0 90
文章
· 九月 15, 2021 阅读大约需 10 分钟
第十六章 SQL命令 CREATE TABLE(三)

第十六章 SQL命令 CREATE TABLE(三)

字段数据约束

数据约束控制字段允许使用的值、字段的默认值以及数据值使用的排序规则类型。所有这些数据约束都是可选的。可以按任何顺序指定多个数据约束,并以空格分隔。

NULL和NOT NULL

NOT NULL数据约束关键字指定该字段不接受空值;换句话说,每条记录都必须为该字段指定一个值。NULL和空字符串('') IRIS中是不同的值。可以在接受字符串的字段中输入空字符串,即使该字段定义了NOT NULL限制也是如此。不能在数值字段中输入空字符串。

NULL数据约束关键字显式指定此字段可以接受空值;这是字段的默认定义。

0 0
0 292
文章
· 十二月 18, 2021 阅读大约需 5 分钟
第十九章 SQL谓词 %STARTSWITH(一)

第十九章 SQL谓词 %STARTSWITH(一)

用指定初始字符的子字符串匹配值。

大纲

scalar-expression %STARTSWITH substring

参数

  • scalar-expression - 将其值与子字符串进行比较的标量表达式(最常见的是数据列)。
  • substring - 解析为包含与标量表达式中的值匹配的第一个或多个字符的字符串或数字的表达式。

描述

%STARTSWITH谓词允许选择以子字符串中指定的字符开头的数据值。
如果substring不匹配任何标量表达式值,%STARTSWITH返回空字符串。
无论显示模式如何,这个匹配总是在逻辑(内部存储)数据值上执行。

下面的示例选择所有以“M”开头的名称:

0 0
0 176
文章
· 一月 5, 2022 阅读大约需 3 分钟
第十五章 SQL窗口函数概述(二)

第十五章 SQL窗口函数概述(二)

ROW子句

ROW子句可以与FIRST_VALUE(字段)和SUM(字段)窗口函数一起使用。
可以为其他windows函数指定它,但不执行任何操作(有或没有ROWS子句的结果相同)。

ROWS子句有两种语法形式:

ROWS framestart
ROWS BETWEEN framestart AND frameend

Framestartframeend有五个可能的值:

0 0
0 100
文章
· 一月 23, 2022 阅读大约需 1 分钟
第三十二章 SQL函数 COS

第三十二章 SQL函数 COS

标量数值函数,返回一个角的余弦值(以弧度为单位)。

大纲

{fn COS(numeric-expression)}

参数

  • numeric-expression - 数值表达式。
    这是一个用弧度表示的角。

COS返回NUMERICDOUBLE数据类型。
如果数值表达式是数据类型DOUBLE, COS返回DOUBLE;
否则,返回NUMERIC

0 0
0 51
文章
· 二月 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命令。

0 0
0 51
文章
· 二月 21, 2022 阅读大约需 3 分钟
第六十一章 SQL函数 GREATEST

第六十一章 SQL函数 GREATEST

从一系列表达式中返回最大值的函数。

大纲

GREATEST(expression,expression[,...])

参数

  • expression - 解析为数字或字符串的表达式。
    对这些表达式的值进行比较。
    表达式可以是字段名、文字、算术表达式、主机变量或对象引用。
    最多可以列出140个逗号分隔的表达式。

描述

GREATEST返回逗号分隔的一系列表达式中的最大值。
表达式按从左到右的顺序求值。
如果只提供一个表达式,则GREATEST返回该值。
如果任何表达式为NULL,则GREATEST返回NULL

0 0
0 93
文章
· 三月 9, 2022 阅读大约需 1 分钟
第七十六章 SQL函数 LEN

第七十六章 SQL函数 LEN

返回字符串表达式中字符数的字符串函数。

大纲

LEN(string-expression)

参数

  • string-expression - 字符串表达式,可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR)。

LEN 返回 INTEGER 数据类型。

描述

注意:LEN 函数是 LENGTH 函数的别名。

SELECT len("yaoxin")  

6
0 0
0 85