第七十一章 SQL函数 LAST_DAY
日期函数,它为日期表达式返回一个月的最后一天的日期。
大纲
LAST_DAY(date-expression)
参数
date-expression
- 表达式,它是列的名称、另一个标量函数的结果或日期或时间戳文字。
描述
LAST_DAY
以整数形式返回指定月份的最后一天,格式为$HOROLOG
。
计算闰年差异,包括世纪日调整:2000
是闰年,1900
和2100
不是闰年。
日期表达式可以是一个日期整数、一个$HOROLOG
或$ZTIMESTAMP
值、一个ODBC格式的日期字符串或一个时间戳。
日期表达式时间戳可以是数据类型%Library.PosiTime
(编码的64位有符号整数)或数据类型%Library.TimeStamp(yyyy-mm-dd hh:mm:ss.fff)
。
%TIMESTAMP
字符串的时间部分是可选的。
指定无效日期时,LAST_DAY
返回0(显示模式为12/31/1840
):日或月为零;大于12的月;或大于当年该月天数的日。年份必须在0001
到9999
之间。
也可以使用lastday()
方法调用从ObjectScript调用此函数:
WRITE $SYSTEM.SQL.Functions.LASTDAY("2018-02-22"),!
WRITE $SYSTEM.SQL.Functions.LASTDAY(64701)
示例
以下示例将该月的最后一天作为日期整数返回。该值是显示为整数还是日期字符串取决于当前的SQL显示模式设置。
以下两个示例都返回数字59594
(对应于‘2004-02-29’
),因为指定日期的月份的最后一天是2月29(2004年是闰年):
SELECT LAST_DAY('2004-02-25')
2004/2/29 0:00:00
SELECT LAST_DAY(59590)
2004/2/29 0:00:00
以下示例均返回与当月最后一天对应的日期整数:
SELECT LAST_DAY({fn NOW()}) AS LD_Now,
LAST_DAY(CURRENT_DATE) AS LD_CurrDate,
LAST_DAY(CURRENT_TIMESTAMP) AS LD_CurrTstamp,
LAST_DAY($ZTIMESTAMP) AS LD_ZTstamp,
LAST_DAY($HOROLOG) AS LD_Horolog
2022/2/28 0:00:00 2022/2/28 0:00:00 2022/2/28 0:00:00 2022/2/28 0:00:00 2022/2/28 0:00:00