MySQL自定义函数 根据一级部门查询所有子部门 记录贴
根据部门id查询其所有子部门
废话不多说 直接上函数
mysql函数
SELECT * FROM gkmobile_power_dept WHERE FIND_IN_SET(PK_DEPTDOC,getChild('1044V11000000002UIVQ'))
DELIMITER $$
DROP FUNCTION IF EXISTS getChild $$
CREATE FUNCTION getChild(rootId VARCHAR(40)) RETURNS text CHARSET utf8
BEGIN
DECLARE ptemp VARCHAR(21845);
DECLARE ctemp VARCHAR(21845);
SET ptemp = '#';
SET ctemp =rootId;
WHILE ctemp IS NOT NULL DO
SET ptemp = CONCAT(ptemp,',',ctemp);
SELECT GROUP_CONCAT(PK_DEPTDOC) INTO ctemp FROM gkmobile_power_dept
WHERE FIND_IN_SET(PK_FATHEDEPT,ctemp)>0;
END WHILE;
RETURN ptemp;
END $$
DELIMITER ;
PK_DEPTDOC 部门ID
PK_FATHEDEPT 部门父ID
gkmobile_power_dept 表名
rootId 入参(如果入参是int 换成INT即可)
将这些数据换成你自己数据库的数据即可
按年月日查询时间
DATE(属性名时间)=>DATE_FORMAT(#{参数},’%Y-%m-%d’)
DATE_FORMAT(属性名时间,’%Y-%m-%d’) <=#{参数}