(midnight_seconds(t1) - midnight_seconds(t2))
)
@
如果需要确定给定年份是否是闰年,以下是一个很有用的 sql 函数,您可以创建它来确定给定年份的天数:
create function daysinyear(yr int)
returns int
return (case (mod(yr, 400)) when 0 then 366 else
case (mod(yr, 4)) when 0 then
case (mod(yr, 100)) when 0 then 365 else 366 end
else 365 end
end)@
最后,以下是一张用于日期操作的内置函数表。它旨在帮助您快速确定可能满足您要求的函数,但未提供完整的参考。有关这些函数的更多信息,请参考 sql 参考大全。
sql 日期和时间函数
dayname 返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,friday)。
dayofweek 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。
dayofweek_iso 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。
dayofyear 返回参数中一年中的第几天,用范围在 1-366 的整数值表示。
days 返回日期的整数表示。
julian_day 返回从公元前 4712 年 1 月 1 日(儒略日历的开始日期)到参数中指定日期值之间的天数,用整数值表示。
midnight_seconds 返回午夜和参数中指定的时间值之间的秒数,用范围在 0 到 86400 之间的整数值表示。
monthname 对于参数的月部分的月份,返回一个大小写混合的字符串(例如,january)。
timestamp_iso 根据日期、时间或时间戳记参数而返回一个时间戳记值。
timestamp_format 从已使用字符模板解释的字符串返回时间戳记。
timestampdiff 根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差。
to_char 返回已用字符模板进行格式化的时间戳记的字符表示。to_char 是 varchar_format 的同义词。
to_date 从已使用字符模板解释过的字符串返回时间戳记。to_date 是 timestamp_format 的同义词。
week 返回参数中一年的第几周,用范围在 1-54 的整数值表示。以星期日作为一周的开始。