文章
姚 鑫 · 三月 30 阅读大约需 2 分钟

第九十七章 SQL函数 MONTH

第九十七章 SQL函数 MONTH

日期函数,它将月份作为日期表达式的整数返回。

大纲

MONTH(date-expression)

{fn MONTH(date-expression)}

描述

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

描述

MONTH 返回一个指定月份的整数。月份整数是针对 日期整数、$HOROLOG$ZTIMESTAMP 值、ODBC 格式日期字符串或时间戳计算的。

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

日期字符串的月份 (mm) 部分必须是 112 范围内的整数。前导零在输入时是可选的。输出时抑制前导零和尾随零。

date-expression 的日期部分经过验证,并且必须包含 112 范围内的月份以及指定月份和年份的有效日期值。否则,将生成 SQLCODE -400 错误 <ILLEGAL VALUE>

date-expression 的时间部分未经验证,可以省略。

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

$SYSTEM.SQL.Functions.MONTH(date-expression)

可以使用以下 SQL 函数返回日期时间字符串的元素:YEARMONTHDAY(或 DAYOFMONTH)、HOURMINUTESECOND。使用 DATEPARTDATENAME 函数可以返回相同的元素。可以使用 TO_DATE 返回日期元素。 DATEPARTDATENAME 对月份值执行值和范围检查。

LAST_DAY 函数返回指定月份的最后一天的日期。

示例

以下示例均返回数字 2,因为二月是一年中的第二个月:

SELECT MONTH('2018-02-22') AS Month_Given

2
SELECT {fn MONTH(64701)} AS Month_Given

2

以下示例按生日顺序按月和日对记录进行排序,忽略 DOB 的年份部分:

SELECT Name,DOB AS Birthdays
FROM Sample.Person
ORDER BY MONTH(DOB),DAY(DOB),Name

以下示例均返回当前月份:

SELECT {fn MONTH({fn NOW()})} AS MNow,
       MONTH(CURRENT_DATE) AS MCurrD,
       {fn MONTH(CURRENT_TIMESTAMP)} AS MCurrTS,
       MONTH($HOROLOG) AS MHorolog,
       {fn MONTH($ZTIMESTAMP)} AS MZTS


3   3   3   3   3
0
0 20
讨论 (0)1
登录或注册以继续