文章 姚 鑫 · 四月 29, 2022 1m read

第127章 SQL函数 SPACE

返回一串空格的字符串函数。

大纲

SPACE(count)

{fn SPACE(count)}

参数

  • count - 整数表达式,指定要返回的空格数。

描述

SPACE 返回一个空格字符串 count 个空格长。如果 count 是数字字符串、十进制数或混合数字字符串, 会将其解析为其整数部分。如果 count 是负数或非数字字符串将其解析为 0

要从字符串中删除空格,请使用 LTRIM(前导空格)或 RTRIM(尾随空格)。

注意:不应将 SPACE 函数与 SPACE 归类类型混淆。 SPACE 排序规则在一个值前面添加一个空格,强制将其作为字符串进行评估。为了建立 SPACE 归类,CREATE TABLE 提供了一个 %SPACE 归类关键字,ObjectScript 提供了 %SYSTEM.Util 类的 Collation() 方法。

示例

以下嵌入式 SQL 示例返回名称字段长度的空格字符串:

/// d ##class(PHA.TEST.SQLFunction).Space()
ClassMethod Space()
{
	&sql(
		SELECT SPACE(LENGTH(name))
			INTO :a
		FROM Sample.Person
	)
	if SQLCODE '= 0 {
		w !
0
0 96
文章 姚 鑫 · 四月 28, 2022 1m read

第126章 SQL函数 SIN

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

大纲

{fn SIN(numeric-expression)}

参数

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

SIN 返回 NUMERICDOUBLE 数据类型。如果 numeric-expression 是数据类型 DOUBLE,则 SIN 返回 DOUBLE;否则,它返回 NUMERIC

描述

SIN 接受任何数值并将其正弦作为浮点数返回。如果传递一个 NULL 值,SIN 返回 NULLSIN 将非数字字符串视为数值 0

SIN 返回一个精度为 19、小数位数为 18 的值。

SIN 只能用作 ODBC 标量函数(使用大括号语法)。

可以使用 DEGREES 函数将弧度转换为度数。可以使用 RADIANS 函数将度数转换为弧度。

示例

以下示例显示了 SIN 的效果:

SELECT {fn SIN(0.52)} AS Sine

0.496880137843736714
0
0 94
文章 Johnny Wang · 四月 27, 2022 3m read

    有时,我们在给客户提供技术支持时会得到重复的问题,某事或某人正在使用比预期更多的licenses,我们需要找到什么。

    我们经过分析后认为主要有两种原因。 第一种原因是在我们意识到,当应用程序无法运行或尝试通过终端连接并获得“lovely”时,许可证实际已用尽;

    <licenses限制超出> 消息:

    第二种情况是最终用户抱怨他们有时无法使用该应用程序,而当问题发生时我们发现已经太晚了。 在这些情况下,我们通常会在 messages.log 中看到以下“License Limit exceeded xxxx times”消息:

    我们要及时发现问题:

    对于第一种情况,我们看到问题正在发生,我们有一些替代方案:

  •     如果我们可以登录到系统管理门户,请转到licenses部分并检查什么在使用什么。
  •     使用 -B 参数通过终端连接(常规连接是不可能的,因为所有licenses都已使用)。 -B 参数用于在禁用登录或licenses用尽时进行管理员紧急登录。
  •     连接后,运行 License DumpLocalAll 方法以转储所有licenses并检查每个插槽的消耗量。 该文件将包含如下内容:

    在转储和检查licenses后,大多数客户不需要我们的帮助来了解正在发生的事情。

0
0 285
文章 姚 鑫 · 四月 27, 2022 1m read

第125章 SQL函数 SIGN

返回给定数值表达式符号的数值函数。

大纲

SIGN(numeric-expression)

{fn SIGN(numeric-expression)}

参数

  • numeric-expression - 要为其返回符号的数字。

SIGN 返回 SMALLINT 数据类型。

描述

SIGN 返回以下内容:

  • -1 如果 numeric-expression 小于零。
  • 如果 numeric-expression 为零,则为 0(零):0+0-0
  • 如果 numeric-expression 大于零,则为 1
  • 如果 numeric-expressionNULL,或者它是非数字字符串,则为 NULL

SIGN 可用作 ODBC 标量函数(使用花括号语法)或 SQL 通用函数。

SIGN 在确定其值之前将数值表达式转换为规范形式。例如,SIGN(-+-+3)SIGN(-3+5) 都返回 1,表示一个正数。

注意:两个负号(连字符)是内嵌注释指示符。因此,指定两个连续负号的 SIGN 参数必须显示为用引号括起来的数字字符串。

示例

以下示例显示了 SIGN 的效果:

SELECT SIGN(-49) AS PosNeg

-1
SELECT {fn SIGN(-0.0)} AS PosNeg

0
SELECT SIGN(-+-16.
0
0 121
问题 Liang Jianhui · 四月 26, 2022

我现在想做下面的事:

我有一个.gof文件,里面是数据。现在上传这个文件,并根据上传的数据生成dashboard。 上传文件的数据和dashboard的数据源之间怎么样才能联系到一起?

求给一个思路,多谢帮忙。

3
0 173
文章 姚 鑫 · 四月 26, 2022 4m read

第124章 SQL函数 SECOND

返回日期时间表达式的秒数的时间函数。

大纲

{fn SECOND(time-expression)}

参数

  • time-expression - 作为列名、另一个标量函数的结果或字符串或数字文字的表达式。它必须解析为时间戳字符串或 $HOROLOG 字符串,其中基础数据类型可以表示为 %Time%TimeStamp%PosixTime

描述

SECOND 返回一个从 059 的整数,也可能返回小数秒。秒数是针对 $HOROLOG$ZTIMESTAMP 值、ODBC 格式日期字符串(没有时间值)或时间戳计算的。

时间表达式时间戳可以是数据类型 %Library.PosixTime(编码的 64 位有符号整数),也可以是数据类型 %Library.TimeStamp (yyyy-mm-dd hh:mm:ss.fff)。

要更改默认时间格式,请使用 SET OPTION 命令。

必须提供时间戳字符串 (yyyy-mm-dd hh:mm:ss) 或 $HOROLOG 字符串。 $HOROLOG 字符串可以是完整的日期时间字符串 (63274,37279) 或只是 $HOROLOG (37279) 的时间整数部分。不能提供时间字符串 (hh:mm:ss);无论实际秒数如何,这始终返回 0

日期时间字符串的时间部分必须是有效时间。

0
0 187
文章 姚 鑫 · 四月 25, 2022 2m read

第123章 SQL函数 SEARCH_INDEX

从索引的 Find() 方法返回一组值的函数。

大纲

SEARCH_INDEX([[schema_name.]table-name.]index-name[,findparam[,...])

参数

  • table-name - 可选 — 为其定义了 index-name 的现有表的名称。不能是一个视图。表的 schema_name 是可选的。如果省略,则搜索 FROM 子句中指定的所有表。
  • index-name - 要搜索的索引。现有索引的索引映射的 SqlName
  • findparam - 可选 — 要传递给索引的 Find() 方法的参数或逗号分隔的参数列表。

描述

SEARCH_INDEX 调用 index-nameFind() 方法并返回一组值。可以选择将参数传递给此 Find() 方法。例如,SEARCH_INDEX(Sample.Person.NameIDX) 调用 Sample.Person.NameIDXFind() 方法。

SEARCH_INDEX 可以与 WHERE 子句中的 %FIND 谓词一起使用,以提供对象的 oref,该对象提供封装一组值的抽象表示。这些值通常是查询运行时调用的方法返回的行 IDSEARCH_INDEX 调用索引的 Find() 方法来返回这个 ore

0
0 132
文章 Johnny Wang · 四月 25, 2022 2m read

    我一直希望 VSCode 能够拥有熟悉的 Studio 外观。

    值得庆幸的是,VSCode 易于定制,因此您可以为任何元素选择任何颜色。

    这是我到目前为止得到的:

    

 


要获得相同的外观,请添加到您的 settings.json: 

"workbench.colorTheme": "Default Light+",
"editor.tokenColorCustomizations":{
    "textMateRules": [
        {
            "scope": "entity.other.attribute-name.objectscript_class",
            "settings": {
                "foreground": "#000000"
            }
        },
        {
            "scope": "string.quoted.double.objectscript",
            "settings": {
                "foreground": "#068306"
            }
        },
        {
            "scope": ["comment.block.
0
0 263
文章 Michael Lei · 四月 25, 2022 2m read

Kong提供了一个开源的配置管理工具(用Go语言编写),称为decK(代表声明式Kong)

  • 通过deck ping检查deck是否能识别你的Kong Gateway安装
deck ping   
Successfully connected to Kong!
Kong version:  2.3.3.2-enterprise-edition
  • 通过deck dump把 Kong Gateway配置倒出到 "kong.yaml" 文件 
deck dump
  • 修改 kong.yaml以后通过deck diff 通过把区别显示出来
deck diff
updating service alerts  {
   "connect_timeout": 60000,
-  "host": "172.24.156.176",
+  "host": "192.10.10.
0
0 426
文章 Michael Lei · 四月 25, 2022 4m read

在一次重大的版本升级中,建议重新编译你所有命名空间的类和例程。 (主要版本的安装后任务).

do $system.OBJ.CompileAllNamespaces("u")
do ##Class(%Routine).CompileAllNamespaces()

为了自动完成这项管理任务并记录任何错误,下面是一个导入并编译到USER命名空间的类的例子,你可以在每次升级后使用它 : admin.utils.cls

 


 Class admin.utils.cls

0
0 160
文章 Qiao Peng · 四月 25, 2022 12m read

InterSystems流程自动化与工作流引擎

 

InterSystems工作流程引擎的主要功能    2

使用InterSystems工作流程引擎    3

场景描述    3

环境配置与测试    5

任务管理    15

任务API和自定义任务用户界面    16

展望    17

15

 

集成平台除了集成业务系统,打通数据与业务流程外,另一个核心的功能就是流程自动化(BPA)。

流程自动化涉及几个重要的特性:

  1. 流程建模
  2. 流程协同
  3. 决策自动化
  4. 低代码工作流程自动化
  5. 任务协同与任务管理

其中第4和5点都是和工作流程相关的。

 

什么是工作流程(Workflow)?它和业务流程(Business Process)有何区别?为何集成平台要涉及对工作流程的管理?

0
2 471
文章 Michael Lei · 四月 24, 2022 4m read

在HIMSS 2022的一次讨论中,小组成员讨论了长期执行登陆火星任务的健康挑战,以及新的交互如何保证宇航员的安全。

将人类送上火星的任务是一项艰巨的任务。但是在这些开创性的旅程中,对宇航员健康主要风险相关的关注却小得令人吃惊。

"你会认为太空飞行真的很复杂,但我们把它归结为五个方面,"美国宇航局总部NASA的首席科学家和科技利用经理朱莉-罗宾逊在HIMSS22的一个小组讨论会上说。

"而且我们在地球上以及在当前和计划中的太空任务中模拟了未来的火星任务。我们利用我们所做的每一次任务来推进我们对如何在未来任务中保持船员安全和健康的理解。" 

载人航天飞行期间的这五个主要危险包括:辐射;隔离和禁闭,如长期与相同的人困在一个狭小的空间里的行为和社会心理影响;远离地球,因为你不能离开或迅速与家乡的其他人沟通;失重;以及不友好和封闭的环境,因为宇航员不断重复使用水和重新呼吸相同的空气。

但是美国宇航局可以在地球上和国际空间站上模拟其中一些健康风险,为前往火星的长期任务做准备。这也是将人类送回月球的Artemis计划的一个目标。

Artemis计划将对这些重力、辐射、环境和隔离风险提供一个更好的模拟。当然,月球比火星离家近得多,通信延迟将短得多。

"如果在去火星的路上真的出了问题,船员还是会去火星。”罗宾逊说:"不管是死是活,船员都会去火星,因为物理学定律不会让你更快地回来。

0
0 164
文章 姚 鑫 · 四月 24, 2022 2m read

第122章 SQL函数 RTRIM

字符串函数,它返回一个删除了尾随空格的字符串。

大纲

RTRIM(string-expression)

{fn RTRIM(string-expression)}

参数

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

描述

RTRIM 从字符串表达式中去除尾随空格,并将字符串作为 VARCHAR 类型返回。如果 string-expressionNULL,则 RTRIM 返回 NULL。如果 string-expression 是一个完全由空格组成的字符串,则 RTRIM 返回空字符串 ('')。

无论要裁剪的输入表达式的数据类型是什么,RTRIM总是返回数据类型VARCHAR

RTRIM 留下前导空白;要删除前导空格,请使用 LTRIM。要删除任何类型的前导和/或尾随字符,请使用 TRIM。要使用尾随空格或其他字符填充字符串,请使用 RPAD。要创建一串空白,请使用 SPACE

请注意,RTRIM 可用作 ODBC 标量函数(使用大括号语法)或 SQL 通用函数。

示例

以下嵌入式 SQL 示例从字符串中删除了五个尾随空格。它留下五个前导空白:

/// d ##class(PHA.TEST.SQLFunction).
0
0 162
文章 Michael Lei · 四月 24, 2022 7m read

基于Docker的Apache Web Gateway

Hi 社区

在本文中,我们将基于Docker程序化地配置一个Apache Web Gateway,使用。:

  • HTTPS protocol.
  • TLS\SSL to secure the communication between the Web Gateway and the IRIS instance.

image

我们将使用两个镜像:一个用于Web网关,第二个用于IRIS实例。

所有必需的文件都在这 GitHub repository.

我们从git clone开始:

git clone https://github.com/lscalese/docker-webgateway-sample.git
cd docker-webgateway-sample

准备系统

为了避免权限方面的问题,你的系统需要一个用户和一个组:

  • www-data
  • irisowner

需要与容器共享证书文件。 如果你的系统中不存在这些文件,只需执行:

sudo useradd --uid 51773 --user-group irisowner
sudo groupmod --gid 51773 irisowner
sudo useradd –user-group www-data

生成证书

在这个示例中,我们使用以下三个证书:

  1. HTTPS web server usage.
0
0 329
文章 姚 鑫 · 四月 23, 2022 2m read

第121章 SQL函数 RPAD

字符串函数,它返回一个右填充到指定长度的字符串。

大纲

RPAD(string-expression,length[,padstring])

参数

  • string-expression - 字符串表达式,可以是列名、字符串文字、主机变量或另一个标量函数的结果。可以是可转换为 VARCHAR 数据类型的任何数据类型。字符串表达式不能是流。
  • length - 整数,指定返回的字符串中的字符数。
  • padstring - 可选 — 由一个字符或一串字符组成的字符串,用于填充输入字符串表达式。 padstring 字符或字符附加到 string-expression 的右侧,以提供创建长度字符的输出字符串所需的尽可能多的字符。 padstring 可以是字符串文字、列、主机变量或另一个标量函数的结果。如果省略,则默认为空格字符。

描述

RPAD 用尾随填充字符填充字符串表达式。它返回填充到长度字符数的字符串的副本。如果字符串表达式的长度超过 length 个字符,则返回字符串被截断为 length 个字符。

如果 string-expressionNULL,则 RPAD 返回 NULL。如果 string-expression 为空字符串 ('') ,则 RPAD 返回一个完全由填充字符组成的字符串。返回的字符串是 VARCHAR 类型。

0
0 176
文章 姚 鑫 · 四月 22, 2022 5m read

第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 相同的数据类型。

描述

此函数可用于将数字舍入或截断为指定的小数位数。

ROUNDnumeric-expr 舍入或截断以缩放位置,从小数点开始计数。舍入时,数字 5 始终向上舍入。在 ROUND 循环或截断操作后删除尾随零。不返回前导零。

  • 如果 scale 为正数,则在小数点右侧的该位数处进行舍入。如果 scale 等于或大于小数位数,则不会发生舍入或零填充。
  • 如果 scale 为零,则舍入到最接近的整数。换句话说,在小数点右边的零位处进行舍入;所有小数位和小数点本身都被删除。
  • 如果 scale 为负数,则在小数点左侧的该位数处进行舍入。
0
0 272
文章 Jiakeng Lei · 四月 22, 2022 1m read

问题: 通过JDBC连接Oracle19C数据报错 "ORA-28040: No matching authentication protocal"

解决 : 1、在数据库服务器上找到sqlnet.ora文件,一般在oracle安装目录app/oracle/product/19.0.0.0/db_1/network/admin/sqlnet.ora

2、如果有进行修改,没有直接创建

3、slqnet.ora文件新增或修改以下 SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

4、注意事项: ① 如果没有sqlnet.ora文件可以直接创建 vi sqlnet.ora ② 如果有不能直接vi 需要使sed -a 命令追加,否则会导致ora文件乱码 ③ 添加参数后新无需重启数据库或者监听,但是需要修改用户密码,否则会报错

5、修改用户名密码

sqlplus / as sysdba

alter user 用户名 identified by 新密码;

2
0 355
文章 姚 鑫 · 四月 21, 2022 1m read

第119章 SQL函数 RIGHT

标量字符串函数,它从字符串表达式的末尾(最右边的位置)返回指定数量的字符。

大纲

{fn RIGHT(string-expression,count)}

参数

  • string-expression - 字符串表达式,可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR)。
  • count - 整数,指定从 string-expression 的结束(最右边)位置返回的字符数。

描述

RIGHT 从字符串表达式的末尾(最右边的位置)返回 count 个字符。如果为任一参数传递 NULL 值,RIGHT 将返回 NULL

RIGHT 只能用作 ODBC 标量函数(使用大括号语法)。

示例

以下示例返回 Sample.Person 表中每个名称最右边的两个字符:

SELECT Name,{fn RIGHT(Name,2)}AS MiddleInitial
     FROM Sample.Person

以下嵌入式 SQL 示例显示 RIGHT 如何处理比字符串本身长的计数:

/// d ##class(PHA.TEST.SQLFunction).
0
0 107
文章 姚 鑫 · 四月 20, 2022 2m read

第118章 SQL函数 REVERSE

标量字符串函数,它以相反的字符顺序返回一个字符串。

大纲

REVERSE(string-expression)

参数

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

描述

REVERSE 返回字符顺序颠倒的字符串表达式。例如 'Hello World!' 返回为 '!dlroW olleH'。这是一个简单的字符串顺序反转,没有额外的处理。

返回的字符串是数据类型 VARCHAR,与输入值的数据类型无关。数字转换为规范形式,数字字符串在反转之前不会转换为规范形式。

前导和尾随空白不受反转的影响。

反转 NULL 值会导致 NULL

注意:因为 REVERSE 总是返回一个 VARCHAR 字符串,所以某些类型的数据在反转时会变得无效:

  • 反向列表不再是有效列表,无法从存储格式转换为显示格式。
  • 反转日期不再是有效日期,并且无法从存储格式转换为显示格式。

示例

以下示例反转 Name 字段值。在这种情况下,这会导致名称按中间名首字母排序:

SELECT Name,REVERSE(Name) AS RevName
FROM Sample.
0
0 128
文章 Michael Lei · 四月 20, 2022 1m read

附件中的压缩文件包含了一些我多年来所做的Cache SQL Storage映射的例子。

如果你有现有的globals,并且想通过Objects或SQL暴露它们,你需要设置Cache SQL Storage映射。  如果你没有看到对你的情况有帮助的例子,请给我发一个例子,我可以帮你解决。

下载附件:https://community.intersystems.com/sites/default/files/post-associated-…

0
0 154
文章 Hao Ma · 四月 19, 2022 26m read

本文档只是给您一个大致的概念,方便您了解IRIS安装的方方面面。并非官方安装手册或者安装建议。生产环境的安装请仔细研究并参照IRIS官方的安装文档

操作系统的选择

IRIS支持多种Linux系统。详细的列表请参见各个版本的支持列表,比如这个是最新的2021IRIS的支持列表。需要注意的是, CentOS只支持作为测试系统, 并不支持生产系统的安装。

官方文档是以Redhat为主介绍的IRIS安装, 这是IRIS在生产环境中最常用的Linux系统之一。另一个Ubantu, InterSystems提供的docker版本是安装在Ubantu上的。

我自己测试的时候喜欢使用CentOS, 所以后面有具体安装步骤中,使用的CentOS上的记录。

服务器的配置

对于生产系统,安装前需要一个硬件配置方案,这个方案通常是您的项目的实施部门根据用户需求提供的。

对于测试系统,只有一个最小的磁盘的要求:1.5G。无论是实体服务器, 虚拟服务器,或者docker container,根据您要测试的内容, 一切以方便为准。如果不做性能测试,我个人经常使用的CentOS虚拟机是2核CPU, 2G或4G内存,没有运行不流畅的问题。

磁盘分区

标准的Linux磁盘分区并不适合IRIS的生产运行。哪怕要创建一个尽量接近生产的测试环境,建议您安装软件前要有一个完整的磁盘分区规划。

0
1 1093
文章 姚 鑫 · 四月 19, 2022 1m read

第117章 SQL函数 REPLICATE

将字符串重复指定次数的字符串函数。

大纲

REPLICATE(expression,repeat-count)

参数

  • expression - 要重复的字符串表达式。
  • repeat-count - 重复的次数,以整数表示。

描述

注意:REPLICATE 函数是 REPEAT 函数的别名。提供 REPLICATE 是为了与 TSQL 兼容。有关详细信息,请参阅重复。

0
0 83
文章 Michael Lei · 四月 19, 2022 13m read

有很多方法可以使用Intersystems生成excel文件,其中一些是ZEN报告、IRIS报告(Logi报告或正式称为JReports),或者我们可以使用第三方Java库,可能性几乎是无限的。

但是,如果你想只用Caché ObjectScript创建一个简单的电子表格呢?(没有第三方应用程序)

在我的案例中,我需要生成包含大量原始数据的报告(财务人员喜欢这些数据),但是我的ZEN/IRIS失败了,给了我一个我想称之为 "零字节的文件",基本上说java的内存用完了,并导致报告服务器上的重载。

这可以用Office Open XML(OOXML)来完成。Office Open XML格式是由一个ZIP包内的一些XML文件组成的。因此,基本上我们需要生成这些XML文件,并将其压缩重命名为.xslx。就这么简单。

这些文件遵循一套简单的惯例,称为开放包装惯例。你需要声明各部分的内容类型,以及告诉消费应用程序应该从哪里开始。

为了创建一个简单的电子表格,我们至少需要5个文件。

  • workbook.xml
  • worksheet.xml
  • [Content_Types].xml
  • styles.xml
  • _rels
    • .rels
    • workbook.xml.rels

workbook.xml
工作簿是各种工作表的容器。

0
0 219
文章 姚 鑫 · 四月 18, 2022 3m read

第116章 SQL函数 REPLACE

字符串函数,用于替换字符串中的子字符串。

大纲

REPLACE(string,oldsubstring,newsubstring)

参数

  • string - 作为子字符串搜索目标的字符串表达式。
  • oldsubstring - 字符串中要匹配的子字符串。
  • newsubstring - 用于替换 oldsubstring 的子字符串。

描述

REPLACE 在字符串中搜索子字符串并替换所有匹配项。匹配区分大小写。如果找到匹配项,它将用 newsubstring 替换 oldsubstring 的每个实例。替换子串可能比它替换的子串长或短。如果找不到子字符串,则 REPLACE 将原样返回原字符串。

无论字符串的数据类型如何,REPLACE 返回的值始终是数据类型 VARCHAR。这允许替换操作,例如 REPLACE(12.3,'.','_')

REPLACE 不能对字符串、oldsubstringnewsubstring 参数使用 %Stream.GlobalCharacter 字段。尝试这样做会生成 SQLCODE -37 错误。

空字符串是字符串值。因此,可以将空字符串用于任何参数值。但是,请注意 ObjectScript 空字符串作为 NULL 传递给 SQL

NULL 不是 SQL 中的数据值。

0
0 183
文章 姚 鑫 · 四月 17, 2022 1m read

第115章 SQL函数 REPEAT

将字符串重复指定次数的字符串函数。

大纲

REPEAT(expression,repeat-count)

{fn REPEAT(expression,repeat-count)}

参数

  • expression - 要重复的字符串表达式。
  • repeat-count - 重复的次数,以整数表示。

描述

REPEAT 返回一串重复计数的表达式实例,连接在一起。

如果表达式为 NULL,则 REPEAT 返回 NULL。如果 expression 是空字符串,则 REPEAT 返回一个空字符串。

如果重复计数是小数,则仅使用整数部分。如果重复计数为 0,则 REPEAT 返回一个空字符串。如果重复计数是负数、NULL 或非数字字符串,则 REPEAT 返回 NULL

示例

以下示例显示了 REPEAT 的两种形式。两个示例都返回字符串“BANGBANGBANG”

SELECT REPEAT('BANG',3) AS Tripled

BANGBANGBANG
SELECT {fn REPEAT('BANG',3)} AS Tripled

BANGBANGBANG
0
0 150
文章 Michael Lei · 四月 17, 2022 3m read

在最近一次探索马里兰小镇的 "度假 "期间,我偶然发现了一家非常令人愉快的书店,在那里我愉快地消磨了一下午。我和我的家人都是读者,喜欢各种类型的书--新的、二手的、印刷的、电子的。我们尽量在当地购物,以帮助零售店保持运营。

这次访问促使我思考图书行业所发生的事情与我们的医疗保健系统所发生的事情之间的一些相似之处。

医疗保健行业与图书行业的趋势


数字化


我们阅读内容的格式已经发生了根本性的变化。在2020年,电子书几乎占美国市场的四分之一。音频书占美国图书收入的10亿美元。许多印刷书籍是按需出版的,而不是保存在库存中。同样,医疗保健早已不再是一个“伸出舌头说啊 ”的行业,基因组测试、由人工智能算法读取的X射线、可植入设备和远程医疗访问已经改变了医疗的面貌。

虚拟服务


书店现在有多种形式,医疗机构也是如此。订阅图书服务,从当地独立的小公司、大的连锁店、电子零售的网上订单。而与你的本地门诊竞争的是你手机上的一个应用程序。同样,你的治疗师可能是一个机器人,你的基层医疗服务可能由你社区附近药店的驻店医师提供,你可能在一个办公园区做手术。在所有这些竞争中,我们如何确保在我们需要时仍有健康的、提供全面服务的医院?

更智能的算法


分析和预测模型现在几乎和个人推荐一样重要。过去,当我想要一本书的建议,或者一个医生,我就会问朋友。虽然我仍然这样做,但我也同样有可能去看Goodreads,或查看在线医生评论。

0
0 191