mysql获取区间开始时间和结束时间的函数
函数代码
CREATE DEFINER=`root`@`localhost` FUNCTION `f_tool_date_begin_end`(
/**
次函数用于计算一个日期的各种类型的开始和结束时间,精确到秒
**/
`in_date` datetime,# 输入日期
# 类型:
/*
D:天;用于返回日期所在天的开始或结束时间
M:月份;用于返回日期所在月份的开始或结束时间
W:周;用于返回日期所在周的开始或结束时间,默认周一是第一天
Q:季度;用于返回日期所在季度的开始或结束时间
Y:年份;用于返回日期所在年份的开始或结束时间
*/
`in_type` varchar(5),
# 开关:返回开始时间还是结束时间
/*
BEGIN:返回开始时间
END:返回结束时间
*/
`in_begin_or_end` varchar(10)
) RETURNS datetime
BEGIN
declare v_rt datetime;
# ----------------------------------------------------计算开始时间
if in_begin_or_end = 'BEGIN' then
if in_type = 'D' then # 本日开始时间
set v_rt = date_format(in_date,'%Y-%m-%d 00:00:00');
elseif in_type = 'W' then # 本周开始时间
set v_rt = date_format(date_sub(in_date,interval weekday(in_