文章 Michael Lei · 三月 12, 2022 阅读大约需 1 分钟 Linux TZ环境变量未被设置以及对Caché的影响 在最近的大规模基准测试活动中,我们看到过多的%sys CPU时间,对应用程序的扩展产生了负面影响。 问题 我们发现,由于TZ环境变量没有被设置,很多时间都花在了localtime()系统调用上。 我们创建了一个简单的测试程序来证实这一观察结果,设置了TZ与未设置TZ的时间差和所需的CPU资源都是惊人的。 我们发现,当TZ没有设置时,从localtime()继承使用stat()系统调用到/etc/local_time是成本很高。 #InterSystems 业务解决方案和架构 #系统管理 #Caché 0 0 0 113
文章 姚 鑫 · 三月 11, 2022 阅读大约需 5 分钟 第七十八章 SQL函数 $LENGTH 第七十八章 SQL函数 $LENGTH 返回字符串中字符数或分隔子字符串数的字符串函数。 大纲 $LENGTH(expression[,delimiter]) 参数 expression - 目标字符串。它可以是数值、字符串文字、任何变量的名称或任何有效的表达式。 delimiter - 可选 — 在目标字符串中划分不同子字符串的字符串。它必须是字符串文字,但可以是任意长度。括起来的引号是必需的。 $LENGTH 返回 SMALLINT 数据类型。 #SQL #Caché 0 0 0 136
文章 姚 鑫 · 三月 10, 2022 阅读大约需 4 分钟 第七十七章 SQL函数 LENGTH 第七十七章 SQL函数 LENGTH 返回字符串表达式中字符数的字符串函数。 大纲 LENGTH(string-expression) {fn LENGTH(string-expression)} 参数 string-expression - 字符串表达式,可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR)。 LENGTH 返回 INTEGER 数据类型。 描述 LENGTH 返回一个整数,表示给定字符串表达式的字符数,而不是字节数。字符串表达式可以是字符串(从中删除尾随空格)或数字( IRIS 将其转换为规范形式)。 请注意,LENGTH 可用作 ODBC 标量函数(使用花括号语法)或 SQL 通用函数。 #SQL #Caché 0 0 0 47
文章 Qiao Peng · 三月 10, 2022 阅读大约需 8 分钟 多语言字符集系列文章-- 第三篇 IRIS对多语言字符集的支持和常见问题 3.1 InterSystems IRIS内码与多语言支持 3.1.1 InterSystems IRIS内码与字符集转换 InterSystems IRIS的内码是UTF-16,因此它支持Unicode多语言字符集。对于其它字符编码,例如UTF-8、GB18030、Big 5,它会自动进行转码。例如对于简体中文,它将GB18030输入数据转换为UTF-16,或者将UTF-16数据转换为GB18030输出。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 217
文章 姚 鑫 · 三月 9, 2022 阅读大约需 1 分钟 第七十六章 SQL函数 LEN 第七十六章 SQL函数 LEN 返回字符串表达式中字符数的字符串函数。 大纲 LEN(string-expression) 参数 string-expression - 字符串表达式,可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR)。 LEN 返回 INTEGER 数据类型。 描述 注意:LEN 函数是 LENGTH 函数的别名。 SELECT len("yaoxin") 6 #SQL #Caché 0 0 0 45
文章 姚 鑫 · 三月 8, 2022 阅读大约需 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 43
问题 Michael Lei · 三月 8, 2022 在Where 语句中有2个列的SQL语句 万能的社区我在cache中创建一个视图时遇到了麻烦,其查询方式为: SELECT column1, column2, column 3 FROM table WHERE (column1, columnn 2) IN (SELECT c1, c2 FROM table2 GROUP BY c1) ORDER BY column1 我认为问题出在where子句上,因为它不能取两列: . 具体错误信息为: [SQLCODE: <-1>:<Invalid SQL statement>] [%msg: < ) expected, , found^ (column1,>] 请问如何解决? 谢谢! #Caché 0 1 0 119
文章 姚 鑫 · 三月 7, 2022 阅读大约需 3 分钟 第七十四章 SQL函数 LEAST 第七十四章 SQL函数 LEAST 从一系列表达式中返回最小值的函数。 大纲 LEAST(expression,expression[,...]) 参数 expression - 解析为数字或字符串的表达式。 将这些表达式的值相互比较,并返回最小值。 表达式可以是字段名、文字、算术表达式、主机变量或对象引用。 最多可以列出140个逗号分隔的表达式。 描述 LEAST从逗号分隔的表达式序列中返回最小值。 表达式按从左到右的顺序求值。 如果只提供一个表达式,则LEAST返回该值。 如果任何表达式为NULL, LEAST返回NULL。 #SQL #Caché 0 0 0 50
文章 姚 鑫 · 三月 6, 2022 阅读大约需 2 分钟 第七十三章 SQL函数 LCASE 第七十三章 SQL函数 LCASE 将字符串中的所有大写字母转换为小写字母的大小写转换函数。 大纲 LCASE(string-expression) {fn LCASE(string-expression)} 参数 string-expression - 要将其字符转换为小写的字符串表达式。表达式可以是列名、字符串文字或另一个标量函数的结果,其中底层数据类型可以表示为任何字符类型(如CHAR或VARCHAR)。 描述 LCASE将大写字母转换为小写字母用于显示。 它对非字母字符没有影响。 它保留没有改变的标点符号以及前导和末尾的空格。 LCASE不强制将数字解释为字符串。 SQL将数字转换为规范形式,删除前导和后导零。 SQL不将数字字符串转换为规范形式。 LOWER函数也可以用来将大写字母转换为小写字母。 #SQL #Caché 0 0 0 51
文章 姚 鑫 · 三月 5, 2022 阅读大约需 2 分钟 第七十二章 SQL函数 LAST_IDENTITY 第七十二章 SQL函数 LAST_IDENTITY 返回最后插入、更新、删除或读取的行的标识的标量函数。 大纲 LAST_IDENTITY() 描述 LAST_IDENTITY函数返回%ROWID局部变量值。在嵌入式SQL或ODBC中将%ROWID局部变量设置为一个值。动态SQL、SQL Shell或管理门户SQL界面未将%ROWID局部变量设置为值。动态SQL改为设置%ROWID对象属性。 LAST_IDENTITY函数不接受任何参数。请注意,参数括号是必需的。 LAST_IDENTITY返回受当前进程影响的最后一行的标识字段值。如果表没有标识字段,则返回受当前进程影响的最后一行的行ID(%ROWID)。返回值为数据类型INTEGER。 #SQL #Caché 0 0 0 52
文章 姚 鑫 · 三月 4, 2022 阅读大约需 2 分钟 第七十一章 SQL函数 LAST_DAY 第七十一章 SQL函数 LAST_DAY 日期函数,它为日期表达式返回一个月的最后一天的日期。 大纲 LAST_DAY(date-expression) 参数 date-expression - 表达式,它是列的名称、另一个标量函数的结果或日期或时间戳文字。 描述 LAST_DAY以整数形式返回指定月份的最后一天,格式为$HOROLOG。 计算闰年差异,包括世纪日调整:2000是闰年,1900和2100不是闰年。 日期表达式可以是一个日期整数、一个$HOROLOG或$ZTIMESTAMP值、一个ODBC格式的日期字符串或一个时间戳。 #SQL #Caché 0 0 0 36
文章 姚 鑫 · 三月 3, 2022 阅读大约需 4 分钟 第七十章 SQL函数 $JUSTIFY 第七十章 SQL函数 $JUSTIFY 在指定宽度内右对齐值的函数,可以选择舍入到指定的小数位数。 大纲 $JUSTIFY(expression,width[,decimal]) 参数 expression - 要右对齐的值。它可以是数字值、字符串文字或解析为数字或字符串的表达式。 width - 表达式要在其中右对齐的字符数。正整数或计算结果为正整数的表达式。 decimal - 可选-小数位数。正整数或计算结果为正整数的表达式。将表达式中的小数位数四舍五入或填充到此值。如果指定DECIMAL,会将表达式视为数字。 描述 $JUSTIFY返回在指定宽度内右对齐的表达式指定的值。可以包括小数参数以在宽度内小数对齐数字。 #SQL #Caché 0 0 0 51
文章 Frank Ma · 三月 2, 2022 阅读大约需 5 分钟 如何成为时间领主 - 诞生 好人不需要规则。 神秘博士 要成为日期和时间的主人并不是一件容易的事,在任何编程语言中,这总是一个问题,有时会让人感到困惑,我们将澄清并提出一些提示,使这项任务尽可能简单。 坐上TARDIS,我将把你变成一个时间领主。 #ObjectScript #提示和技巧 #Caché 1 0 0 431
文章 姚 鑫 · 三月 1, 2022 阅读大约需 8 分钟 第六十九章 SQL函数 JSON_OBJECT 第六十九章 SQL函数 JSON_OBJECT 将数据作为JSON对象返回的转换函数。 #SQL #Caché 0 0 0 79
文章 姚 鑫 · 二月 28, 2022 阅读大约需 5 分钟 第六十八章 SQL函数 JSON_ARRAY 第六十八章 SQL函数 JSON_ARRAY 以JSON数组形式返回数据的转换函数。 #SQL #Caché 0 0 0 328
文章 姚 鑫 · 二月 27, 2022 阅读大约需 2 分钟 第六十七章 SQL函数 ISNUMERIC 第六十七章 SQL函数 ISNUMERIC 测试有效数字的数值函数。 大纲 ISNUMERIC(check-expression) 参数 check-expression - 要计算的表达式。 ISNUMERIC返回SMALLINT数据类型。 #SQL #Caché 0 0 0 56
文章 姚 鑫 · 二月 26, 2022 阅读大约需 3 分钟 第六十六章 SQL函数 ISNULL 第六十六章 SQL函数 ISNULL 测试NULL并返回相应表达式的函数。 大纲 ISNULL(check-expression,replace-expression) 参数 check-expression - 要计算的表达式。 replace-expression - Check-Expression为NULL时返回的表达式。 ISNULL返回与Check-Expression相同的数据类型。 #SQL #Caché 0 0 0 46
文章 姚 鑫 · 二月 25, 2022 阅读大约需 3 分钟 第六十五章 SQL函数 %INTERNAL 第六十五章 SQL函数 %INTERNAL 返回逻辑格式表达式的格式转换函数。 大纲 %INTERNAL(expression) %INTERNAL expression 参数 expression - 要转换的表达式。 字段名、包含字段名的表达式,或返回可转换数据类型(如DATE或%List)中的值的函数。 描述 %INTERNAL将表达式转换为逻辑格式,与当前选择模式(显示模式)无关。逻辑格式是数据的内存格式(对其执行操作的格式)。%INTERNAL通常用于选择列表SELECT-ITEM。 #SQL #Caché 0 0 0 38
问题 Johnny Wang · 二月 24, 2022 问题转发 请教各位老师: Cache数据日志怎么读取? 如果是想写代码去读取,应该怎么操作?如果是不知道数据日志在哪,应该在哪可以获取? #Caché 0 1 0 123
文章 姚 鑫 · 二月 24, 2022 阅读大约需 3 分钟 第六十四章 SQL函数 INSTR 第六十四章 SQL函数 INSTR 返回子字符串在字符串中的位置的字符串函数,具有可选的搜索起始点和出现次数。 #SQL #Caché 0 0 0 73
文章 姚 鑫 · 二月 23, 2022 阅读大约需 8 分钟 第六十三章 SQL函数 IFNULL 第六十三章 SQL函数 IFNULL 测试NULL并返回适当表达式的函数。 #SQL #Caché 0 0 0 79
文章 姚 鑫 · 二月 22, 2022 阅读大约需 3 分钟 第六十二章 SQL函数 HOUR 第六十二章 SQL函数 HOUR Time函数,它返回DateTime表达式的小时数。 大纲 {fn HOUR(time-expression)} time-expression - 作为列名、另一个标量函数的结果或字符串或数字文字的表达式。它必须解析为日期时间字符串或时间整数,其中基础数据类型可以表示为%Time、%Timestamp或%PosiTime。 描述 Hour返回一个整数,指定给定时间或日期时间值的小时。小时是根据$HOROLOG或$ZTIMESTAMP值、ODBC格式的日期字符串或时间戳计算的。 时间表达式时间戳可以是数据类型%Library.PosiTime(编码的64位有符号整数),也可以是数据类型%Library.TimeStamp(yyyy-mm-dd hh:mm:ss.fff)。 #SQL #Caché 0 0 0 86
文章 姚 鑫 · 二月 21, 2022 阅读大约需 3 分钟 第六十一章 SQL函数 GREATEST 第六十一章 SQL函数 GREATEST 从一系列表达式中返回最大值的函数。 大纲 GREATEST(expression,expression[,...]) 参数 expression - 解析为数字或字符串的表达式。 对这些表达式的值进行比较。 表达式可以是字段名、文字、算术表达式、主机变量或对象引用。 最多可以列出140个逗号分隔的表达式。 描述 GREATEST返回逗号分隔的一系列表达式中的最大值。 表达式按从左到右的顺序求值。 如果只提供一个表达式,则GREATEST返回该值。 如果任何表达式为NULL,则GREATEST返回NULL。 #SQL #Caché 0 0 0 59
文章 姚 鑫 · 二月 20, 2022 阅读大约需 4 分钟 第六十章 SQL函数 GETUTCDATE 第六十章 SQL函数 GETUTCDATE 日期/时间函数,返回当前UTC日期和时间。 大纲 GETUTCDATE([precision]) 参数 precision - 可选-一个正整数,指定时间精度为小数秒的位数。 默认值是0(没有小数秒); 这个默认值是可配置的。 描述 GETUTCDATE返回通用时间常数(UTC)日期和时间作为时间戳。由于UTC时间在地球上的任何地方都是相同的,不依赖于当地时区,也不受当地时差(如夏令时)的影响,因此当不同时区的用户访问同一数据库时,此函数对于应用一致的时间戳非常有用。 #SQL #Caché 0 0 0 63
文章 姚 鑫 · 二月 19, 2022 阅读大约需 4 分钟 第五十九章 SQL函数 GETDATE 第五十九章 SQL函数 GETDATE 日期/时间函数,返回当前本地日期和时间。 大纲 GETDATE([precision]) 参数 precision - 可选-一个正整数,指定时间精度为小数秒的位数。 默认值是0(没有小数秒); 这个默认值是可配置的。 精度值是可选的,括号是必选的。 描述 GETDATE将此时区的当前本地日期和时间作为时间戳返回;它根据本地时间变量(如夏令时)进行调整。 GETDATE可以返回%TIMESTAMP数据类型格式(yyyy-mm-dd hh:mm:ss.ffff)或%PosiTime数据类型格式(编码的64位有符号整数)的时间戳。以下规则确定返回哪种时间戳格式: #AWS #SQL #Caché 0 0 0 83
文章 姚 鑫 · 二月 18, 2022 阅读大约需 2 分钟 第五十八章 SQL函数 FLOOR 第五十八章 SQL函数 FLOOR 数值函数,返回小于或等于给定数值表达式的最大整数。 大纲 FLOOR(numeric-expression) {fn FLOOR(numeric-expression)} 参数 numeric-expression - 下限要计算的数字。 FLOOR返回与NUMERIC-EXPRESSION相同的数据类型。 描述 FLOOR返回小于或等于NUMERIC-EXPRESSION的最接近的整数值。返回值的小数位数为0。当numeric-expression为空值、空字符串(‘’)或非数字字符串时,FLOOR返回NULL。 请注意,Floor可以作为ODBC标量函数(使用花括号语法)调用,也可以作为SQL常规函数调用。 #SQL #Caché 0 0 0 53
文章 Qiao Peng · 二月 18, 2022 阅读大约需 6 分钟 SQL语句与数据模式(Select Mode) 在InterSystems IRIS和InterSystems Caché 里,是否您遇到过执行一个SQL Insert/Update语句,明明给的是正确的日期值,但被告知“值‘2022-01-01’ 校验失败”的类似情况,并感到困惑? 如果有,那么您需要了解一下InterSystems IRIS和InterSystems Caché保存和显示数据的模式。 一 数据模式 InterSystems IRIS和InterSystems Caché里,数据有3种模式,称之为SELECT MODE:逻辑模式:这是数据被保存到InterSystems IRIS和InterSystems Cache'时的格式。例如,%Date类型的数据,在数据库里被保存为一个整数,即从1840年12月31号到这个日期的天数,而不是YYYY-MM-DD的格式。 ODBC模式:这是ODBC对数据定义的格式。在这个模式下,%Date类型的数据就会显示为YYYY-MM-DD的格式。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 171
文章 姚 鑫 · 二月 17, 2022 阅读大约需 4 分钟 第五十七章 SQL函数 $FIND 第五十七章 SQL函数 $FIND 字符串函数,返回字符串中子字符串的结束位置,可选的搜索起始点。 #SQL #Caché 0 0 0 55
文章 姚 鑫 · 二月 16, 2022 阅读大约需 5 分钟 第五十六章 SQL函数 $EXTRACT 第五十六章 SQL函数 $EXTRACT 按位置从字符串中提取字符的字符串函数。 大纲 $EXTRACT(string[,from[,to]]) 参数 string - 要从中提取子字符串的目标字符串。 from - 可选-单个字符在目标字符串中的位置,或要提取的字符范围(包括)的开头。 指定为从1开始计数的正整数。 to - 可选-要提取的字符范围的结束位置(包括)。 指定为从1开始计数的正整数。 描述 $EXTRACT返回字符串中指定位置的子字符串。 返回的子字符串的性质取决于所使用的参数。 #SQL #Caché 0 0 0 88
文章 姚 鑫 · 二月 15, 2022 阅读大约需 3 分钟 第五十五章 SQL函数 %EXTERNAL 第五十五章 SQL函数 %EXTERNAL 以显示格式返回表达式的格式转换函数。 大纲 %EXTERNAL(expression) %EXTERNAL expression 参数 expression - 要转换的表达式。字段名、包含字段名的表达式或返回值为可转换数据类型(如DATE或%LIST)的函数。不能是流字段。 描述 %EXTERNAL将表达式转换为显示格式,与当前选择模式(显示模式)无关。显示格式表示VARCHAR数据类型的数据,无论字段或数据类型LogicalToDisplay方法执行什么数据转换。 %EXTERNAL通常用于选择列表SELECT-ITEM。它可以在WHERE子句中使用,但不建议这样使用,因为使用%EXTERNAL会阻止在指定字段上使用索引。 #SQL #Caché 0 0 0 63