CREATE FUNCTION `get_times_weeek` ( last_accting_date DATETIME, nursePerformTime VARCHAR (50) ) RETURNS INT (11) COMMENT '计算以周为单位的计费次数' BEGIN DECLARE return_val INT DEFAULT 0 ; DECLARE flag BOOLEAN DEFAULT FALSE ; DECLARE weekNo INT ; DECLARE s_index INT ; IF last_accting_date IS NOT NULL && DATE_FORMAT(NOW(), '%Y-%m-%d') = DATE_FORMAT(last_accting_date, '%Y-%m-%d') THEN SET return_val = 0 ; ELSE SELECT DAYOFWEEK(NOW()) INTO weekNo ; IF weekNo = 1 THEN SET weekNo = 7 ; ELSE SET weekNo = weekNo - 1 ; END IF ; SELECT LOCATE(weekNo, nursePerformTime) INTO s_index ; IF s_index > 0 THEN SET return_val = 1 ; ELSE SET return_val = 0 ; END IF ; END IF ; RETURN return_val ;
END
总结: and 用于where 条件中拼接条件 && 用于 if 逻辑判断。