今日,mysql自定义函数过程中遇到的问题:
(1)自定义函数基本框架语句不清楚;变量赋值之前需要set
(2)函数写完保存时,报错:
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary
解决办法:set global log_bin_trust_function_creators=TRUE;(可能数据库重启后,会失效)
(3)函数保存时,一直报语句错误;最后经检查,是在报错语句的上方,有一个不包含任何内容的if then end if 语句;虽然逻辑上没有问题,但是没有内容的语句mysql会无法保存
(4)多样日期函数:dayofweek(*),year(*)
(5)获取对应日期年份的最后一天日期 select concat(year(日期),'-12-31');
获取对应日期年份的第一天日期 select DATE_SUB(日期,INTERVAL dayofyear(日期)-1 DAY)
(6)mybatis 的xml动态语句中可直接调用自定义函数