#Caché

0 关注者 · 975 帖子

  

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

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

文档

文章 姚 鑫 · 二月 13, 2022 3m read

第五十三章 SQL函数 %EXACT

排序规则函数,可将字符转换为精确的排序规则格式。

大纲

%EXACT(expression)

%EXACT expression

参数

  • expression - 字符串表达式,可以是列名、字符串文字、数字或另一个函数的结果,其中底层数据类型可以表示为任何字符类型(如CHARVARCHAR2)。

描述

%Exact返回精确排序规则序列中的表达式。此归类序列按如下方式对值进行排序:

  1. NULL排序在所有实际值之前。%Exact对空值没有影响。这与默认排序规则相同。
  2. 规范数值(无论输入为数字还是字符串)在字符串值之前按数字顺序排序。
  3. 字符串值按区分大小写的字符串顺序排序。字符串的精确排序顺序与ANSI标准的ASCII排序顺序相同:数字在大写字母字符之前排序,大写字母字符在小写字母字符之前排序。标点符号出现在序列中的多个位置。

这将导致如下所示的序列:

0
0 170
文章 姚 鑫 · 二月 12, 2022 1m read

第五十二章 SQL函数 DEGREES

将弧度转换为角度的数值函数。

大纲

DEGREES(numeric-expression)

{fn DEGREES(numeric-expression)}

参数

  • numeric-expression - 以弧度表示的角度的量度。解析为数值的表达式。

度返回NUMERICDOUBLE数据类型。如果NUMERIC-EXPRESSION的数据类型为DOUBLE,则度返回DOUBLE;否则返回NUMERIC

度数可以指定为标准标量函数,也可以指定为使用大括号语法的ODBC标量函数。

描述

DEGREES以弧度为单位进行角度测量,并以度为单位返回相应的角度测量值。如果传递空值,度将返回空。

返回值的默认精度为36,默认小数位数为18

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

示例

下面的嵌入式SQL示例返回与弧度值0到6对应的等价度:

ClassMethod Degrees()
{
	s a = 0
	while a < 7 {
		&sql(SELECT DEGREES(:a) INTO :b)
		if SQLCODE '= 0 {
			w !,"Error code ",SQLCODE
			q 
		} else {
			w !,"radians ",a," = degrees ",b
			s a=a+1 }
		}
}

0
0 134
文章 姚 鑫 · 二月 11, 2022 4m read

第五十一章 SQL函数 DECODE

计算给定表达式并返回指定值的函数。

大纲

DECODE(expr {,search,result}[,default])

参数

  • expr - 要解码的表达式。
  • search - 要与Expr进行比较的值。
  • result - Expr匹配搜索时返回的值。
  • default - 可选-如果expr与任何搜索都不匹配,则返回默认值。

描述

可以指定多个搜索和结果对,以逗号分隔。您可以指定一个默认值。DECODE表达式(包括EXPRSEARCHRESULTDEFAULT)中的最大参数数约为100。搜索、结果和默认值可以从表达式派生。

为了计算DECODE表达式,会逐个将expr与每个搜索值进行比较:

  • 如果expr等于search ,则返回相应的结果。
  • 如果expr不等于search ,则返回默认值,如果省略默认值,则返回NULL

仅在将searchExpr进行比较之前计算每个search,而不是在将所有searchExpr进行比较之前评估所有search。因此,如果上一次搜索等于EXPR,不会对搜索求值。

DECODE表达式中,将两个NULL视为等效。如果exprNULL,则将返回同样为NULL的第一次搜索结果。

请注意,为了与Oracle兼容,支持解码。

返回值的数据类型

0
0 87
文章 姚 鑫 · 二月 10, 2022 2m read

第五十章 SQL函数 DAYOFWEEK

Date函数,它返回日期表达式的整型日期。

参数

  • date-expression - 日期表达式,它是列名、另一个标量函数的结果或日期或时间戳文字。

描述

DAYOFYEAR返回一个介于1到366之间的整数,该整数对应于给定日期表达式的一年中的第几天。DAYOFYAR计算闰年日期。

根据日期整数、$HOROLOG$ZTIMESTAMP值、ODBC格式日期字符串或时间戳计算一年中的日期。

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

时间戳的时间部分不计算,可以省略。

在计算$HOROLOG值的月份日期时,DAYOFYAR会计算闰年差异,包括世纪日调整:2000年是闰年,1900和2100不是闰年。

DAYOFYEAR可以将1840年12月31日之前的日期表达式值处理为负整数。下面的示例显示了这一点:

SELECT {fn DAYOFYEAR(-306)} AS LastDayFeb, 
       {fn DAYOFYEAR(-305)} AS FirstDayMar  
       
       
60	61

最早有效日期表达式为-672045(0001-01)

0
0 96
文章 姚 鑫 · 二月 9, 2022 6m read

第四十九章 SQL函数 DAYOFWEEK

Date函数,它返回日期表达式的整型星期几。

大纲

{fn DAYOFWEEK(date-expression)}

参数

  • date-expression - 有效的ODBC格式日期或$HOROLOG格式日期,带或不带时间组件。作为列名、另一个标量函数的结果或日期或时间戳文字的表达式。

描述

DAYOFWEEK接受日期表达式,并返回与该日期的星期几对应的整数。一周的天数从一周的第一天开始计算;的默认设置是星期天是一周的第一天。因此,默认情况下,返回值表示这些天:

  • 1 — Sunday
  • 2 — Monday
  • 3 — Tuesday
  • 4 — Wednesday
  • 5 — Thursday
  • 6 — Friday
  • 7 — Saturday

请注意,ObjectScript $ZDATE$ZDATETIME函数计算一周中的天数从06(而不是17)。

日期表达式可以是日期整数、$HOROLOG$ZTIMESTAMP值、ODBC格式的日期字符串或时间戳。

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

时间戳的时间部分不被评估,可以省略。

0
0 353
文章 姚 鑫 · 二月 8, 2022 3m read

第四十八章 SQL函数 DAYOFMONTH

返回日期表达式的月份日期的日期函数。

大纲

{fn DAYOFMONTH(date-expression)}

参数

  • date-expression - 要从中返回月值日期的日期或时间戳表达式。作为列名、另一个标量函数的结果或日期或时间戳文字的表达式。

描述

DAYOFMONTH131之间的整数形式返回每月的第几天。日期表达式可以是日期整数、$HOROLOG$ZTIMESTAMP值、ODBC格式的日期字符串或时间戳。

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

TIMESTAMP$HOROLOG字符串的时间部分不计算,可以省略。

DAYOFMONTHDAY函数在功能上是相同的。

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

DHC-APP>  w $SYSTEM.SQL.DAYOFMONTH("2018-02-25")
25

Timestamp date-expression

0
0 101
文章 Michael Lei · 二月 8, 2022 12m read

说明

欢迎来到InterSystems广播站--数据点!在这一集里,我们和在线培训团队负责人Jenny Ames聊了聊InterSystems IRIS--稳定、灵活、可扩展、可互操作的数据平台,它为世界上许多最关键的核心应用提供支持。从它的多模型性质到它的集成引擎,再到它的医疗保健功能,在一次谈话中,有很多东西需要解读。

本期节目回放:https://datapoints.castos.com/episodes/1-what-is-intersystems-iris-jenn…

关于InterSystems广播站的更多信息,请访问https://datapoints.intersystems.com

今天就试用InterSystems IRIS,请到https://www.intersystems.com/try,启动你的实例!

更多资料欢迎访问:https://gettingstarted.intersystems.com

以下是本期对话中文全文。

0
0 207
文章 姚 鑫 · 二月 7, 2022 2m read

第四十七章 SQL函数 DAYNAME

Date函数,它返回日期表达式的星期几的名称。

大纲

{fn DAYNAME(date-expression)}

参数

  • date-expression - 计算结果为日期整数、ODBC日期或时间戳的表达式。该表达式可以是列名、另一个标量函数的结果或日期或时间戳文字。

描述

DAYNAME返回与指定日期对应的日期的名称。返回值为字符串,最大长度为15。默认返回的日期名称为:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday

要更改这些默认日期名称值,请使用带有WEEKDAY_NAME选项的SET OPTION命令。

日期名称是针对日期整数、$HOROLOG$ZTIMESTAMP值、ODBC格式日期字符串或时间戳计算的。

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

时间戳的时间部分不计算,可以省略。

DAYNAME检查提供的日期是否为有效日期。年份必须介于00019999之间(包括00019999)、月01到12和适合该月的日期(例如,02/29仅在闰年有效)。如果日期无效,DAYNAME将发出SQLCODE-400错误(发生致命错误)。

0
0 51
文章 姚 鑫 · 二月 6, 2022 1m read

第四十六章 SQL函数 DAY

返回日期表达式的月份日期的日期函数。

大纲

DAY(date-expression)

{fn DAY(date-expression)}

参数

  • date-expression - 作为列名、另一个标量函数的结果或日期或时间戳文字的表达式。

描述

注意:DAY函数是DAYOFMONTH函数的别名。提供DAY是为了与TSQL兼容。

SELECT day("2022-02-28") AS day

28
SELECT day(+$h) AS day

5
0
0 78
文章 姚 鑫 · 二月 5, 2022 7m read

第四十五章 SQL函数 DATEPART

日期/时间函数,返回表示日期/时间表达式指定部分的值的整数。

大纲

DATEPART(datepart,date-expression)

参数

  • datepart - 要返回的日期/时间信息的类型。日期或时间部分的名称(或缩写)。这个名称可以用大写或小写来指定,有或没有引号。datepart可以指定为文字或主机变量。
  • date-expression - 从中返回datepart值的日期、时间或时间戳表达式。日期表达式必须包含datepart类型的值。

描述

DATEPORT函数以整数数据类型返回关于指定日期/时间表达式的DATEPORT信息。唯一的例外是sqltimestamp (sts),它以数据类型%Library.Timestamp返回。要以字符串形式返回日期部分信息,请使用DATENAME

DATEPART只返回日期表达式中一个元素的值;要返回包含多个日期部分的字符串,请使用TO_DATE

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

$SYSTEM.SQL.Functions.DATEPART(datepart,date-expression)

提供DATEPART是为了与Sybase和Microsoft SQL Server兼容。

Datepart 参数

0
0 215
文章 姚 鑫 · 二月 4, 2022 6m read

第四十四章 SQL函数 DATENAME

日期/时间函数,它返回一个字符串,表示日期/时间表达式中指定部分的值。

参数

  • datepart - 要返回的日期/时间信息类型。 日期或时间部分的名称(或缩写)。 可以用大写或小写指定该名称,也可以不加引号。 可以将datepart指定为文字或主机变量。
  • date-expression - 要返回datepart值的日期、时间或时间戳表达式。 日期表达式必须包含datepart类型的值。

描述

DATENAME函数返回日期/时间值中指定部分的名称(例如“June”)。 结果作为数据类型VARCHAR(20)返回。 如果结果是数字(例如“23”表示当天),它仍然作为VARCHAR(20)字符串返回。 要以整数形式返回此信息,请使用DATEPART。 要返回包含多个日期部分的字符串,请使用TO_DATE

请注意,DATENAME是为Sybase和Microsoft SQL Server兼容性而提供的。

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

$SYSTEM.SQL.Functions.DATENAME(datepart,date-expression)

Datepart 参数

0
0 90
文章 姚 鑫 · 二月 3, 2022 7m read

[toc]

第四十三章 SQL函数 DATEDIFF

日期/时间函数,返回两个日期之间指定日期部分的整数差。

大纲

DATEDIFF(datepart,startdate,enddate)

参数

  • datepart - 日期或时间部分的名称(或缩写)。这个名称可以用大写或小写来指定,有或没有引号。datepart可以指定为文字或主机变量。
  • startdate - 间隔的开始日期/时间。可以是各种标准格式的日期、时间或日期时间。
  • enddate - 间隔的结束日期/时间。可以是各种标准格式的日期、时间或日期时间。从enddate中减去startdate,以确定两个日期之间的日期部分间隔。

描述

DATEDIFF函数返回两个指定日期之间指定日期部分差的整数。日期范围从开始日期开始,到结束日期结束。(如果enddate早于startdateDATEDIFF将返回一个负整数值。)

0
0 745
文章 姚 鑫 · 二月 2, 2022 6m read

第四十二章 SQL函数 DATEADD

一个日期/时间函数,它返回一个时间戳,计算方法是在一个日期或时间戳中添加或减去若干日期部件单位(如小时或天)。

大纲

DATEADD(datepart,integer-exp,date-exp)

参数

  • datepart - 日期或时间部分的名称(或缩写)。 可以用大写或小写指定该名称,也可以不加引号。 可以将datepart指定为文字或主机变量。
  • integer-exp - 任意数字类型的数字表达式。 该值被截断为整数(正或负)。 该值指示将添加到(或从)date-exp中减去的datepart单元的数量。
  • date-exp - 要修改的日期/时间表达式。它可以是日期字符串,也可以是时间戳字符串(%PosiTime%Timestamp数据类型),也可以是CURRENT_DATE之类的函数。返回的值始终是时间戳,数据类型格式为%PosiTime%Timestamp

描述

DATEADD函数通过将指定的日期部分递增指定的单元数来修改日期/时间表达式。 例如,如果datepart“month”且整数-exp5,则DATEADDdate-exp递增5个月。 还可以通过为integer-exp指定一个负整数来减少日期部分。

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

第四十一章 SQL函数 DATE

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

大纲

DATE(timestamp)

参数

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

描述

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

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

空字符串(‘’)参数返回0(1840年12月31日)。NULL参数返回NULL

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

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

第四十章 SQL函数 DATALENGTH

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

大纲

DATALENGTH(expression)

参数

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

DATALENGTH返回INTEGER数据类型。

描述

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

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

第三十九章 SQL函数 DATABASE

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

大纲

{fn DATABASE()}

描述

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

0
0 112
文章 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 112
文章 姚 鑫 · 一月 29, 2022 2m read

第三十八章 SQL函数 CURTIME

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

大纲

{fn CURTIME()}
{fn CURTIME}

描述

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

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

小时以24小时格式表示。

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

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

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

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

第三十七章 SQL函数 CURRENT_TIMESTAMP

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

大纲

CURRENT_TIMESTAMP
CURRENT_TIMESTAMP(precision)

参数

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

CURRENT_TIMESTAMP返回TIMESTAMP数据类型。

描述

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

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

CURRENT_TIMESTAMP可以返回%timestamp数据类型格式(yyyy-mm-dd hh:mm:ss.ffff)%PosixTime数据类型格式(编码的64位带符号整数)的时间戳。 以下规则决定返回哪种时间戳格式:

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

第三十六章 SQL函数 CURRENT_TIME

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

大纲

CURRENT_TIME
CURRENT_TIME(precision)

参数

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

CURRENT_TIME返回时间数据类型。

描述

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

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

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

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

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

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

第三十五章 SQL函数 CURRENT_DATE

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

大纲

CURRENT_DATE

描述

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

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

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

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

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

第三十四章 SQL函数 CURDATE

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

大纲

{fn CURDATE()}
{fn CURDATE}

描述

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

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

要指定不同的日期格式,请使用TO_DATE函数。 要更改默认的日期格式,使用SET OPTION命令和DATE_FORMATYEAR_OPTIONDATE_SEPARATOR选项。

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

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

第三十三章 SQL函数 COT

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

大纲

{fn COT(numeric-expression)}

参数

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

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

描述

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

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

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

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

示例

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

SELECT {fn COT(0.52)} AS Cotangent 

1.746536264145397165
SELECT {fn COT(124.1332)} AS Cotangent 

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

第三十二章 SQL函数 COS

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

大纲

{fn COS(numeric-expression)}

参数

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

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

描述

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

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

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

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

示例

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

SELECT {fn COS(0.52)} AS Cosine

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

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

第三十一章 SQL函数 CONVERT

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

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

{fn CONVERT(expression,datatype)}

参数

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

描述

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

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

  • CONVERT(datatype,expression)支持流数据的转换。 例如,可以将字符流字段的内容转换为数据类型为VARCHAR的字符串。
  • {fn CONVERT(expression,datatype)}不支持流数据的转换; 指定要表达的流字段将导致SQLCODE -37错误。
0
0 123
文章 姚 鑫 · 一月 21, 2022 2m read

第三十章 SQL函数 CONCAT

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

大纲

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

参数

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

描述

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

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

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

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

示例

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

0
0 167
文章 姚 鑫 · 一月 20, 2022 7m read

第二十九章 SQL函数 COALESCE

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

大纲

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

描述

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

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

返回值的数据类型

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

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

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

比较NULL处理函数

0
0 157