SQL函数 MONTH
日期函数,它将月份作为日期表达式的整数返回。
大纲
代码语言:javascript复制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
) 部分必须是 1
到 12
范围内的整数。前导零在输入时是可选的。输出时抑制前导零和尾随零。
date-expression
的日期部分经过验证,并且必须包含 1
到 12
范围内的月份以及指定月份和年份的有效日期值。否则,将生成 SQLCODE -400
错误 <ILLEGAL VALUE>
。
date-expression
的时间部分未经验证,可以省略。
请注意,MONTH
可以作为 ODBC 标量函数(使用大括号语法)或作为 SQL 通用函数调用。
$SYSTEM.SQL.Functions.MONTH(date-expression)
可以使用以下 SQL 函数返回日期时间字符串的元素:YEAR
、MONTH
、DAY
(或 DAYOFMONTH
)、HOUR
、MINUTE
和 SECOND
。使用 DATEPART
或 DATENAME
函数可以返回相同的元素。可以使用 TO_DATE
返回日期元素。 DATEPART
和 DATENAME
对月份值执行值和范围检查。
LAST_DAY
函数返回指定月份的最后一天的日期。
示例
以下示例均返回数字 2,因为二月是一年中的第二个月:
代码语言:javascript复制SELECT MONTH('2018-02-22') AS Month_Given
2
代码语言:javascript复制SELECT {fn MONTH(64701)} AS Month_Given
2
以下示例按生日顺序按月和日对记录进行排序,忽略 DOB
的年份部分:
SELECT Name,DOB AS Birthdays
FROM Sample.Person
ORDER BY MONTH(DOB),DAY(DOB),Name
image.png
以下示例均返回当前月份:
代码语言:javascript复制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