1 关注者 · 990 帖子

  

InterSystems Caché 是一个多模型 DBMS 和应用服务器。

查看此处提供的更多详细信息

文档

文章 姚 鑫 · 二月 1, 2022 4m read

第四十一章 SQL函数 DATE

接受时间戳并返回日期的函数。

大纲

DATE(timestamp)

参数

  • timestamp - 指定时间戳或其他日期或日期和时间表示形式的表达式。

描述

Date接受时间戳表达式并返回日期。返回值的数据类型为Date。这在功能上与相同(时间戳与日期相同)。它接受具有以下任何数据类型类(或其子类)的时间戳值:、、和或(用于隐式逻辑日期,如)。它还可以接受格式与(有效的ODBC日期)兼容的值。

无效的ODBC日期字符串的计算结果为零,与日期1840年12月31日相对应。时间戳可以只包含ODBC格式的日期或ODBC格式的日期和时间。虽然只转换ODBC时间戳的日期部分,但会验证整个字符串。如果日期部分不完整、日期或时间部分包含超出范围的值(包括闰年计算),或者时间戳包含任何无效的格式字符或尾随字符,则ODBC时间戳验证失败。

空字符串()参数返回0()。参数返回。

这个函数也可以从ObjectScript中使用方法调用来调用:

DHC-APP>  WRITE $SYSTEM.SQL.DATE("2018-02-23 12:37:45")
64702

$HOROLOG 与 $ZTIMESTAMP

$HOROLOG和返回字符串值。

0
0 146
文章 姚 鑫 · 一月 31, 2022 1m read

第四十章 SQL函数 DATALENGTH

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

大纲

DATALENGTH(expression)

参数

  • expression - 表达式,可以是列的名称、字符串字面值或另一个标量函数的结果。 基础数据类型可以是字符类型(如CHARVARCHAR)、数字或数据流。

DATALENGTH返回INTEGER数据类型。

描述

注意:、和CHARACTER_LENGTH函数是相同的。 对于新代码,建议使用H函数。 是为TSQL兼容性而提供的。

0
0 100
文章 姚 鑫 · 一月 30, 2022 1m read

第三十九章 SQL函数 DATABASE

返回数据库名称限定符的标量字符串函数。

大纲

{fn DATABASE()}

描述

DATABASE返回与连接句柄对应的数据库名称的当前限定符。 在IRIS中,DATABASE总是返回空字符串()。

0
0 154
文章 TZ Zhuang · 一月 30, 2022 1m read

如果想快速查看锁表空间的使用情况,可以通过GetLockSpaceInfo()方法来获得。

%SYS>w ##class(SYS.Lock).GetLockSpaceInfo()
4717392,4712512,1200

返回值是 "AvailableSpace,UsableSpace,UsedSpace",每个值的单位都是Byte。

AvailableSpace:锁表的总空间减去已用空间的大小(UsedSpace)。
UsableSpace:预估的可用空间。AvailableSpace里有一些空间是系统内部保留的,所以UsableSpace比AvailableSpace要小。UsableSpace是用户在锁表中可用的自由空间的数量。
UsedSpace:已经使用的空间。

0
0 148
文章 姚 鑫 · 一月 29, 2022 2m read

第三十八章 SQL函数 CURTIME

返回当前本地时间的标量日期/时间函数。

大纲

{fn CURTIME()}
{fn CURTIME}

描述

``不接受任何参数。它将当前本地时间作为数据类型TIME返回。请注意,参数括号是可选的。CURTIME返回此时区的当前本地时间;它根据本地时间变量(如夏令时)进行调整。

逻辑模式下的CURTIME以格式返回当前本地时间; 例如,37065年。 显示模式下的以区域设置的默认格式返回当前本地时间; 例如,。

小时以小时格式表示。

要更改默认的时间格式,使用命令和TIME_FORMATTIME_PRECISION选项。

要只返回当前时间,请使用或。 这些函数以数据类型返回它们的值。 、和函数也可以作为数据类型返回当前日期和时间。

请注意,除了之外,所有 SQL时间和日期函数都特定于当地时区设置。 要获得通用的(独立于时区的)当前时间戳,你可以使用或ObjectScript 特殊变量。

在使用嵌入式SQL时,这些数据类型的性能不同。 数据类型将值存储为格式的整数(从午夜开始的秒数); 在SQL中显示时,转换为时间显示格式; 当从嵌入式SQL返回时,它们作为整数返回。 数据类型以相同的格式存储和显示其值。 可以使用或函数来更改时间和日期的数据类型。

示例

0
0 83
文章 姚 鑫 · 一月 28, 2022 6m read

第三十七章 SQL函数 CURRENT_TIMESTAMP

日期/时间函数,返回当前本地日期和时间。

大纲

CURRENT_TIMESTAMP
CURRENT_TIMESTAMP(precision)

参数

  • precision - 一个正整数,它将时间精度指定为小数秒的位数。 默认值是0(没有小数秒); 这个默认值是可配置的。

CURRENT_TIMESTAMP返回TIMESTAMP数据类型。

描述

要么不接受参数,要么接受精度参数。 不允许使用空参数括号。

返回当前时区的本地日期和时间; 它会根据当地的时间变化进行调整,例如日光节约时间。

CURRENT_TIMESTAMP可以返回%timestamp数据类型格式(或数据类型格式(编码的位带符号整数)的时间戳。 以下规则决定返回哪种时间戳格式:

  1. 如果将当前时间戳提供给数据类型为%PosixTime的字段,则当前时间戳值将以PosixTime数据类型格式返回。 例如,WHERE PosixField=CURRENT_TIMESTAMP or INSERT INTO MyTable (PosixField) VALUES (CURRENT_TIMESTAMP).

  2. 如果将当前的时间戳提供给数据类型为的字段,则以数据类型格式返回当前的时间戳值。 例如.

  3. 如果没有上下文提供当前时间戳,则以

0
0 550
文章 姚 鑫 · 一月 28, 2022 3m read

第三十六章 SQL函数 CURRENT_TIME

返回当前本地时间的日期/时间函数。

大纲

CURRENT_TIME
CURRENT_TIME(precision)

参数

  • precision - 一个正整数,它将时间精度指定为小数位数。默认值为0(无小数秒);此默认值是可配置的。

CURRENT_TIME返回时间数据类型。

描述

CURRENT_TIME要么不带参数,要么带精度参数。不允许使用空参数括号。

返回此时区的当前本地时间。它会根据当地时间变化(如夏令时)进行调整。

逻辑模式下的CURRENT_TIME$HOROLOG格式返回当前本地时间;例如,。显示模式下的当前时间以区域设置的默认格式返回当前本地时间;例如,。

要更改默认时间格式,请使用带有和选项的SET OPTION命令。可以配置分数秒的精度,如下所述。

要仅返回当前时间,请使用或。这些函数以时间数据类型返回它们的值。、和函数也可用于将当前日期和时间作为数据类型返回。

请注意,除之外,所有 SQL时间和日期函数都特定于本地时区设置。要获得通用的当前时间戳(独立于时区),可以使用或特殊变量。

使用嵌入式SQL时,这些数据类型的执行方式不同。时间数据类型以

0
0 119
文章 姚 鑫 · 一月 26, 2022 2m read

第三十五章 SQL函数 CURRENT_DATE

日期/时间函数,返回当前本地日期。

大纲

CURRENT_DATE

描述

CURRENT_DATE不带任何参数。它将当前本地日期作为数据类型DATE返回。不允许使用参数括号。返回此时区的当前本地日期;它根据本地时间变量(如夏令时)进行调整。

在逻辑模式下以格式返回当前本地日期; 例如,64701。 显示模式下的以区域设置的默认格式返回当前本地日期。 例如,在美国的区域设置为,在欧洲的区域设置为,在俄罗斯的区域设置为。

要指定不同的日期格式,请使用函数。要更改默认日期格式,请将命令与DATE_FORMAT、或选项配合使用。

要仅返回当前日期,请使用或。这些函数以DATE数据类型返回它们的值。、和函数也可用于将当前日期和时间作为数据类型返回。

请注意,除之外,所有 SQL时间和日期函数都特定于本地时区设置。要获得通用的当前时间戳(独立于时区),可以使用或ObjectScript 特殊变量。

使用嵌入式SQL时,这些数据类型的执行方式不同。数据类型将值存储为格式的整数;当在SQL中显示时,它们将转换为日期显示格式;当从嵌入式SQL返回时,它们将作为整数返回。数据类型以相同的格式存储和显示其值。可以使用函数更改日期和时间的数据类型。

可以用作或ALTER TABLE

0
0 345
文章 姚 鑫 · 一月 25, 2022 2m read

第三十四章 SQL函数 CURDATE

返回当前本地日期的标量日期/时间函数。

大纲

{fn CURDATE()}
{fn CURDATE}

描述

CURDATE不接受任何参数。它将当前本地日期作为数据类型DATE返回。请注意,参数括号是可选的。返回此时区的当前本地日期;它根据本地时间变量(如夏令时)进行调整。

逻辑模式下的以格式返回当前本地日期; 例如,64701。 显示模式下的以区域设置的默认格式返回当前本地日期。 例如,在美国的区域设置为,在欧洲的区域设置为,在俄罗斯的区域设置为。

要指定不同的日期格式,请使用函数。 要更改默认的日期格式,使用命令和DATE_FORMAT、或选项。

要只返回当前日期,请使用或。 这些函数返回DATE数据类型的值。 、和函数也可以作为数据类型返回当前日期和时间。

请注意,除了之外,所有 SQL时间和日期函数都特定于当地时区设置。 要获得通用的(独立于时区的)当前时间戳,你可以使用或ObjectScript 特殊变量。

在使用嵌入式SQL时,这些数据类型的性能不同。 DATE数据类型将值存储为格式的整数; 当在SQL中显示时,它们被转换为日期显示格式; 当从嵌入式SQL返回时,它们作为整数返回。 数据类型以相同的格式存储和显示其值。 可以使用

0
0 121
文章 姚 鑫 · 一月 24, 2022 1m read

第三十三章 SQL函数 COT

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

大纲

{fn COT(numeric-expression)}

参数

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

COT返回NUMERIC或数据类型。 如果数值表达式是数据类型, 返回; 否则,返回。

描述

接受任何非零数,并以浮点数的形式返回它的余切值。 如果传入值,COT将返回。 数值会导致运行时错误,生成(发生致命错误)。 将非数字字符串视为数值。

返回一个精度为、刻度为18的值。

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

可以使用函数将弧度转换为角度。 可以使用函数来转换角度到弧度。

示例

下面的例子展示了COT的效果:

SELECT {fn COT(0.52)} AS Cotangent 

1.746536264145397165
SELECT {fn COT(124.1332)} AS Cotangent 

-0.040311998371146672
0
0 125
文章 姚 鑫 · 一月 23, 2022 1m read

第三十二章 SQL函数 COS

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

大纲

{fn COS(numeric-expression)}

参数

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

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

描述

接受任何数值,并以浮点数的形式返回。 返回值的范围是-1到(含)。 如果传入值,将返回。 将非数字字符串视为数值。

返回一个精度为、刻度为18的值。

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

可以使用函数将弧度转换为角度。 可以使用函数来转换角度到弧度。

示例

这些例子说明了COS对两个正弦函数的影响。

SELECT {fn COS(0.52)} AS Cosine

0.8678191796776499
SELECT {fn COS(-.31)} AS Cosine 

SELECT {fn COS(-.31)} AS Cosine 
0
0 93
文章 姚 鑫 · 一月 22, 2022 8m read

第三十一章 SQL函数 CONVERT

将给定表达式转换为指定数据类型的函数。

CONVERT(datatype,expression[,format-code])

{fn CONVERT(expression,datatype)}

参数

  • expression - 要转换的表达式。
  • datatype - 要将表达式转换为的数据类型。
  • format - 可选-指定日期和时间格式的整数代码,用于在日期/时间/时间戳数据类型和字符数据类型之间进行转换。 此参数仅用于通用标量语法形式。

描述

这里描述了函数的两种不同实现。 两者都将一种数据类型中的表达式转换为另一种数据类型中的相应值。 两者都执行日期和时间转换。

注意:这两个实现中的参数以不同的顺序表示。 第一个是与MS SQL Server兼容的通用 IRIS标量函数,它接受三个参数。 第二个是带有两个参数的 ODBC标量函数。 下面的文本将分别处理这两种形式的CONVERT

  • CONVERT(datatype,expression)支持流数据的转换。 例如,可以将字符流字段的内容转换为数据类型为VARCHAR的字符串。
  • {fn CONVERT(expression,datatype)}不支持流数据的转换; 指定要表达的流字段将导致错误。

为两个版本的指定一个无效值将导致。

0
0 189
文章 姚 鑫 · 一月 21, 2022 2m read

第三十章 SQL函数 CONCAT

标量字符串函数,它返回作为连接两个字符表达式的结果的字符串。

大纲

{fn CONCAT(string-expression1,string-expression2)}

参数

  • string-expression1, string-expression2 - 要连接的字符串表达式。表达式可以是列名、字符串文字、数字或另一个标量函数的结果,其中底层数据类型可以表示为任何字符类型(如CHAR或)。

描述

连接两个字符串以返回连接的字符串。可以使用连接运算符(||)执行完全相同的操作。

可以连接数字或数字字符串的任意组合;连接结果是一个数字字符串。SQL在连接之前将数字转换为规范形式(指数被扩展,前导零和尾随零被删除)。在连接之前,数字字符串不会转换为规范形式。

可以将前导空格或尾随空格连接到字符串。将空值连接到字符串会产生空值;这是行业范围内的SQL标准。

字符串函数还可用于将两个或多个表达式连接成单个字符串。

示例

以下示例连接Home_StateHome_City列以创建位置值。使用CONCAT函数和运算符显示两次连接:

SELECT {fn CONCAT(Home_State,Home_City)} AS LocationFunc,
Home_State||Home_City AS LocationOp
FROM Sample.Person
0
0 285
文章 姚 鑫 · 一月 20, 2022 7m read

第二十九章 SQL函数 COALESCE

返回第一个非空表达式的值的函数。

大纲

COALESCE(expression,expression [,...])
  • expression - 要计算的一系列表达式。多个表达式被指定为逗号分隔的列表。此表达式列表限制为140个表达式。

描述

COALESSE函数按从左到右的顺序计算表达式列表,并返回第一个非空表达式的值。如果所有表达式的计算结果都为NULL,则返回。

字符串返回时保持不变;保留前导和尾随空格。数字以规范形式返回,去掉了前导零和尾随零。

返回值的数据类型

非数字表达式(如字符串或日期)必须都属于相同的数据类型,并返回该数据类型的值。指定数据类型不兼容的表达式会导致错误,并显示不匹配错误消息。可以使用CAST函数将表达式转换为兼容的数据类型。

数值表达式可以是不同的数据类型。如果指定具有不同数据类型的数值表达式,则返回的数据类型是与所有可能的结果值最兼容的表达式数据类型,即具有最高数据类型优先级的数据类型。

文字值(字符串、数字或)被视为数据类型。如果只指定两个表达式,则文字值与数值表达式兼容:如果第一个表达式是数值表达式,则返回其数据类型;如果第一个表达式是文字值,则返回VARCHAR数据类型。

比较NULL处理函数

下表显示了各种SQL比较函数。如果逻辑比较测试为(与

0
0 236
文章 姚 鑫 · 一月 19, 2022 3m read

第二十八章 SQL函数 CHAR_LENGTH

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

大纲

CHAR_LENGTH(expression)

参数

  • expression - 表达式,可以是列名、字符串文字或另一个标量函数的结果。底层数据类型可以是字符类型(如CHARVARCHAR)、数字或数据流。

CHAR_LENGTH返回整数数据类型。

描述

CHAR_LENGTH返回一个整数值,表示指定表达式中的字符数,而不是字节数。表达式可以是字符串,也可以是任何其他数据类型,如数字或数据流字段。返回的整数计数包括前导和尾随空格以及字符串终止字符。如果传递值,则CHARACTER_LENGTH返回,如果传递空字符串()值,则返回0。

在计算字符之前,会将数字解析为规范形式;不会解析带引号的数字字符串。在下面的示例中,第一个返回(因为数字分析删除了前导和尾随零),第二个返回。

SELECT CHAR_LENGTH(007.0000) AS NumLen,
       CHAR_LENGTH('007.0000') AS NumStringLen
       
1   8

注意:、和DATALENGTH函数是相同的。 它们都接受一个流字段参数。 和函数不接受流字段参数。

与这些函数的不同之处在于,在计算字符之前会去掉尾随空格和字符串终止字符。

0
0 141
文章 姚 鑫 · 一月 18, 2022 3m read

第二十七章 SQL函数 CHARINDEX

一个字符串函数,它返回子字符串在字符串中的位置,具有可选的搜索起点。

大纲

CHARINDEX(substring,string[,start])

参数

  • substring - 要在字符串中匹配的子字符串。
  • string - 作为子字符串搜索目标的字符串表达式。
  • start - 可选-子字符串搜索的起始点,指定为正整数。 从字符串开始的字符计数,从1开始计数。 若要从字符串的开头开始搜索,请忽略此参数或指定从0或开始。 负数、空字符串、或非数字值被视为。

返回数据类型。

描述

在字符串中搜索子字符串。 如果找到匹配,则返回第一个匹配子字符串的起始位置,从1开始计算。 如果不能找到子字符串,返回0

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

不是SQL中的字符串值。 因此,为任何一个字符串参数指定NULL都会返回。

不能将字段用于字符串或子字符串参数。尝试这样做会生成错误。可以使用函数获取字段并返回数据类型值以供使用。

区分大小写。使用其中一个大小写转换函数查找字母或字符串的大写和小写实例。

此函数提供了与实现的兼容性。

CHARINDEX, POSITION, $FIND和INSTR

CHARINDEX, , 和

0
0 188
文章 姚 鑫 · 一月 17, 2022 2m read

第二十六章 SQL函数 CHARACTER_LENGTH

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

大纲

CHARACTER_LENGTH(expression)

参数

  • expression - 表达式,可以是列名、字符串文字或另一个标量函数的结果。底层数据类型可以是字符类型(如CHARVARCHAR)、数字或数据流。

CHARACTER_LENGTH返回整数数据类型。

描述

CHARACTER_LENGTH返回一个整数值,表示指定表达式中的字符数,而不是字节数。表达式可以是字符串,也可以是任何其他数据类型,如数字或数据流字段。返回的整数计数包括前导和尾随空格以及字符串终止字符。如果传递值,则CHARACTER_LENGTH返回,如果传递空字符串()值,则返回。

在计算字符之前,会将数字解析为规范形式;不会解析带引号的数字字符串。在下面的示例中,第一个返回(因为数字分析删除了前导和尾随零),第二个返回。

SELECT CHARACTER_LENGTH(007.0000) AS NumLen,
       CHARACTER_LENGTH('007.0000') AS NumStringLen

注意:、和DATALENGTH函数是相同的。 它们都接受一个流字段参数。 和函数不接受流字段参数。

与这些函数的不同之处在于,在计算字符之前会去掉尾随空格和字符串终止字符。

0
0 106
文章 Qiao Peng · 一月 17, 2022 8m read

      各大技术社区常年充斥着关于字符集支持、乱码的问题。Cache’/Ensemble/HealthConnect/IRIS的用户也经常遇到这类问题。为何文字乱码在信息化发展这么久后还会困扰我们?因为字符集、多语言实在有点复杂。

      我计划写三篇:第一篇花点时间回顾一下多语言字符集的简史,第二篇介绍一下各种技术对于字符集和字符编码的使用声明,最后一篇会介绍常见的ISC技术和工具的乱码、尤其是中文乱码的现象和解决办法。

0
3 778
文章 姚 鑫 · 一月 16, 2022 1m read

第二十五章 SQL函数 CHAR

返回具有在字符串表达式中指定的ASCII代码值的字符的字符串函数。

大纲

CHAR(code-value)

{fn CHAR(code-value)}

参数

  • code-value - 与字符相对应的整数代码。

描述

Char返回与指定的整数代码值对应的字符。因为 IRIS是系统,所以可以为任何字符指定整数代码,从到。如果是超出允许值范围的整数,则返回。

如果代码值是非数字字符串,则返回一个空字符串()。如果传递空值,CHAR返回。

请注意,可以用作标量函数(使用花括号语法),也可以用作SQL常规函数。

示例

以下示例均返回字符:

SELECT CHAR(90) AS CharCode

Z
SELECT {fn CHAR(90)} AS CharCode

Z

下面的示例返回希腊字母:

ClassMethod Cast2()
{
	&sql(SELECT {fn CHAR(955)}
	   INTO :greeklet)
	w !,"Greek letter: ",greeklet
}

0
0 131
文章 姚 鑫 · 一月 14, 2022 2m read

第二十四章 SQL函数 CEILING

数值函数,返回大于或等于给定数值表达式的最小整数。

大纲

CEILING(numeric-expression)

{fn CEILING(numeric-expression)}

参数

  • numeric-expression - 要计算其上限的数字。

CELING返回与NUMERIC-EXPRESSION相同的数据类型。

描述

返回大于或等于的最接近的整数值。返回值的小数位数为0。当为值、空字符串()或任何非数字字符串时,返回。

请注意,可以作为ODBC标量函数(使用花括号语法)调用,也可以作为SQL常规函数调用。

也可以使用方法调用从ObjectScript调用此函数:

$SYSTEM.SQL.Functions.EILING(numeric-expression)

示例

以下示例显示了 如何将分数转换为其 整数:

SELECT CEILING(167.111) AS CeilingNum1,
       CEILING(167.456) AS CeilingNum2,
       CEILING(167.999) AS CeilingNum3
SELECT {fn CEILING(167.00)} AS CeilingNum1,
       {fn CEILING(167.00)} AS CeilingNum2
0
0 129
文章 姚 鑫 · 一月 13, 2022 3m read

第二十三章 SQL函数 CAST(二)

转换位值

可以将expr值转换为BIT以返回0或。 如果为或任何其他非零数值,则返回。 如果为、或,则返回。 (可以用任何大小写组合表示,但不能缩写为。) 如果是任何其他非数值值,则返回。 如果为,则返回。

在下面的例子中,前个操作返回1,后个操作返回0:

SELECT CAST(1 AS BIT) AS One, 
       CAST(7 AS BIT) AS Num,      
       CAST(743.6 AS BIT) AS Frac,  
       CAST(0.3 AS BIT) AS Zerofrac,
       CAST('tRuE' AS BIT) AS TrueWord,
       CAST(0 AS BIT) AS Zero,  
       CAST('FALSE' AS BIT) AS FalseWord, 
       CAST('T' AS BIT) AS T,    
       CAST('F' AS BIT) AS F,   
       CAST(0.0 AS BIT) AS Zerodot     

示例

下面的示例使用函数将平均值表示为整数,而不是浮点数。 请注意,

0
0 116
文章 姚 鑫 · 一月 11, 2022 1m read

第二十一章 SQL函数 ATAN2

接受两个坐标并返回以弧度为单位的反正切角的标量数值函数。

注意:IRIS可用,IRIS以下不可用。

大纲

{fn ATAN2(y,x)}

参数

  • y - 指定y轴坐标的数值表达式。
  • x - 指定轴坐标的数值表达式。

ATAN2返回或数据类型。 如果数值表达式是数据类型, 返回; 否则,返回。

描述

采用射线的笛卡尔坐标,并以浮点数的形式返回角的正切反(弧)。 用两个坐标的符号来确定笛卡尔坐标。 当x为正值时,ATAN2返回与相同的值。 如果传递一个值,将返回。 将非数字字符串(包括空字符串())视为数字值。

返回一个精度为、刻度为18的值。

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

可以使用函数将弧度转换为角度。 可以使用函数来转换角度到弧度。

示例

下面的例子调用ATAN2:

SELECT {fn ATAN2(15,30)} AS ArcTangent 

0.463647609000806116
0
0 106
文章 姚 鑫 · 一月 10, 2022 1m read

第二十章 SQL函数 ATAN

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

大纲

{fn ATAN(numeric-expression)}

参数

  • numeric-expression - 一个数值表达式。 这是这个角的正切。

ATAN返回NUMERIC或数据类型。 如果数值表达式是数据类型, 返回; 否则,返回。

描述

接受任何数值,并以浮点数返回角度正切的反(弧)值。 如果传递一个值,ATAN将返回。 将非数字字符串(包括空字符串())视为数字值。

返回一个精度为、刻度为18的值。

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

可以使用函数将弧度转换为角度。 可以使用函数来转换角度到弧度。

示例

下面的例子展示了ATAN的效果:

SELECT {fn ATAN(0.52)} AS ArcTangent 

0.479519291992596165
0
0 109
文章 姚 鑫 · 一月 9, 2022 1m read

第十九章 SQL函数 ASIN

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

大纲

{fn ASIN(numeric-expression)}

参数

  • numeric-expression - 数值在-1到1之间的数值表达式。 这是这个角的正弦值。

ASIN返回NUMERIC或数据类型。 如果数值表达式是数据类型, 返回; 否则,返回。

描述

以浮点数的形式返回角度正弦的反(弧)值。 的值必须是有符号的十进制数,取值范围为1 ~ -1(含1)。 超出此范围的数字将导致运行时错误,生成(发生致命错误)。 如果传递一个值,将返回。 将非数字字符串(包括空字符串())视为数字值。

返回一个精度为、刻度为18的值。

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

可以使用函数将弧度转换为角度。 可以使用函数来转换角度到弧度。

示例

下面的例子展示了ASIN对两个正弦的影响。

SELECT {fn ASIN(0.52)} AS ArcSine 

0.54685095069594411
SELECT {fn ASIN(-1.00)} AS ArcSine 

-1.570796326794896619
0
0 165
文章 姚 鑫 · 一月 8, 2022 1m read

第十八章 SQL函数 ASCII

一个字符串函数,返回字符串表达式的第一个(最左边)字符的整型ASCII码值。

大纲

ASCII(string-expression)

{fn ASCII(string-expression)}

参数

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

描述

如果传入一个NULL或空字符串值,将返回NULL。 空字符串返回与一致。

SELECT ASCII('Z') AS AsciiCode

90
SELECT {fn ASCII('ZEBRA')} AS AsciiCode 

90

在执行转换之前,SQL将数字转换为规范形式。 下面的例子返回55,它是数字7的值:

如果数字以字符串的形式表示,则不执行此数字解析。 下面的例子返回43,它是加()字符的ASCII值:

0
0 159
文章 姚 鑫 · 一月 7, 2022 1m read

第十七章 SQL函数 ACOS

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

大纲

{fn ACOS(numeric-expression)}

参数

  • numeric-expression - 数值在-1到1之间的数值表达式。 这是这个角的余弦值。

ACOS返回NUMERIC或数据类型。 如果数值表达式是数据类型, 返回; 否则,返回。

描述

接受一个数值并以浮点数的形式返回余弦的反(弧)值。 的值必须是有符号的十进制数,取值范围为1 ~ -1(含1)。 超出此范围的数字将导致运行时错误,生成(发生致命错误)。 如果传入值,将返回。 将非数字字符串(包括空字符串())视为数字值0。

返回一个精度为、刻度为18的值。

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

可以使用函数将弧度转换为角度。 可以使用函数来转换角度到弧度。

示例

下面的例子展示了ACOS对两个余弦的影响:

SELECT {fn ACOS(0.52)} AS ArcCosine 

1.02394537609895251
SELECT {fn ACOS(-1)} AS ArcCosine

3.141592653589793238
0
0 101
文章 姚 鑫 · 一月 6, 2022 1m read

第十六章 SQL函数 ABS

返回数值表达式的绝对值的数值函数。

大纲

ABS(numeric-expression)

{fn ABS(numeric-expression)}

参数

  • numeric-expression - 要返回其绝对值的数字。

ABS返回与数字表达式相同的数据类型。

描述

ABS返回绝对值,它总是或正数。 如果数值表达式不是一个数字(例如,字符串'abc',或空字符串),返回。 当传递值时,返回。

请注意,可以用作标量函数(带有花括号语法),也可以用作通用函数。

这个函数也可以通过调用方法从ObjectScript中调用:

  WRITE $SYSTEM.SQL.Functions.ABS(-0099)

示例

下面的例子展示了的两种形式:

SELECT ABS(-99) AS AbsGen,{fn ABS(-99)} AS AbsODBC

下面的例子展示了如何处理其他一些数字。 在调用之前, SQL将数字表达式转换为规范形式,删除前导和末尾的零,并计算指数。

SELECT ABS(007) AS AbsoluteValue

7
0
0 100
文章 姚 鑫 · 一月 5, 2022 3m read

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

ROW子句

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

子句有两种语法形式:

ROWS framestart
ROWS BETWEEN framestart AND frameend

Framestart和有五个可能的值:

UNBOUNDED PRECEDING                    /* 从当前分区的开头开始 */
offset PRECEDING   /* 开始偏移当前行之前的行数 */
CURRENT ROW                                      /* 从当前行开始 */
offset FOLLOWING  /* 继续偏移当前行后面的行数 */
UNBOUNDED FOLLOWING                  /* 继续到当前分区的末尾 */

子句语法可以在两个方向上指定一个范围。 例如,在无界前面和1后面之间的行以及在1后面和无界前面之间的行是完全相等的。

框架的开始语法默认为作为范围的第二个未指定的边界。 因此,以下是等价的:

   
0
0 161