第113章 SQL函数 QUARTER

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第16天,点击查看活动详情

第113章 SQL函数 QUARTER

日期函数,它将一年中的季度作为日期表达式的整数返回。

大纲

{fn QUARTER(date-expression)}
复制代码

参数

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

描述

QUARTER 返回一个从 14 的整数。季度是针对 日期整数、 H O R O L O G HOROLOG 或 ` ZTIMESTAMP` 值、ODBC 格式日期字符串或时间戳计算的。

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

四个季度的时间段如下:

Quarter Period (inclusive)
1 January 1 to March 31 (90 or 91 days)
2 April 1 to June 30 (91 days)
3 July 1 to September 30 (92 days)
4 October 1 to December 31 (92 days)

QUARTER 基于日期时间字符串的月份部分。但是,所有日期表达式都经过验证,并且必须包含 112 范围内的月份以及指定月份和年份的有效日期值。否则,将生成 SQLCODE -400 错误 <ILLEGAL VALUE> date-expression 的时间部分可以省略,但如果存在则必须有效。

使用 DATEPARTDATENAME 函数可以返回相同的季度信息。可以使用 DATEADDTIMESTAMPADD 函数将日期增加指定的季度数。

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

$SYSTEM.SQL.Functions.QUARTER(date-expression)
复制代码

示例

以下示例均返回数字 1,因为日期(222 日)位于该年的第一季度:

SELECT {fn QUARTER('2018-02-22')} AS ODBCDateQ

1
复制代码
SELECT {fn QUARTER(64701)} AS HorologDateQ

1
复制代码

以下示例均返回当前季度:

SELECT {fn QUARTER({fn NOW()})} AS Q_Now,
       {fn QUARTER(CURRENT_DATE)} AS Q_CurrD,
       {fn QUARTER(CURRENT_TIMESTAMP)} AS Q_CurrTstamp,
       {fn QUARTER($ZTIMESTAMP)} AS Q_ZTstamp,
       {fn QUARTER($HOROLOG)} AS Q_Horolog
       
1
复制代码

区分大小写

ObjectScript的某些部分区分大小写,而其他部分不区分大小写。一般来说,ObjectScript的用户可定义部分区分大小写,而关键字不区分大小写:

  • 区分大小写:变量名(本地、全局和进程私有全局)和变量下标、类名、方法名、属性名、属性的实例变量的i%、例程名、宏名、宏包含文件(.inc文件)名、标签名、锁名、密码、嵌入式代码指令标记字符串、嵌入式SQL主机变量名。
  • 不区分大小写:命令名、函数名、特殊变量名、命名空间名(见下文)、用户名和角色名、预处理器指令(如#include)、字母代码(用于LOCKOPENUSE)、关键字代码(用于$STACK)、模式匹配代码和嵌入式代码指令(&html&js&sql)。通过自定义%ZLANG例程添加的自定义语言元素不区分大小写;创建它们时必须使用大写,引用它们时可以使用任何大小写。由于iKnow索引通过将文本转换为小写来标准化文本,因此大多数iKnow值(包括域名)都不区分大小写。
  • 通常不区分大小写:以下内容区分大小写取决于平台:设备名、文件名、目录名、磁盘驱动器名。指数符号通常不区分大小写。大写“E”始终是有效的指数符号;可以使用%SYSTEM.ProcessScienceNotation()方法将小写“e”配置为当前进程的有效或无效,也可以使用Config.Miscellous类的ScienceNotation属性在系统范围内将其配置为有效或无效。

标识符

  • 用户定义的标识符(变量、例程和标签名称)区分大小写。String, string, and STRING 都引用不同的变量。全局变量名也区分大小写,无论是用户定义的还是系统提供的。

猜你喜欢

转载自juejin.im/post/7086992319232081950