第九十七章 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 ) 部分必须是 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,因为二月是一年中的第二个月:
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
|