delimiter ||
DROP FUNCTION IF EXISTS IS_MOBILE||
CREATE FUNCTION IS_MOBILE( x VARCHAR(255)) RETURNS TINYINT(1)
BEGIN
DECLARE result TINYINT(1) DEFAULT 0;
SET x = LCASE(x);
IF RIGHT(x,4) = '.mp4' THEN
SET result = 1;
ELSEIF LEFT(x,9) = '[ctvideo]' THEN
SET result = 1;
END IF;
RETURN result;
END;
delimiter ;
注:
这种方法是有应用场景的,我是用来在建立sphinx索引中做一个标记如:
SELECT IS_MOBILE('https://www.jb51.net/demo/test.mp4') AS m
如果在前端大量使用,会增加MySQL的压力,建议还是由脚本程序完成。
我个人也仅时一个临时解决方案,后期会通过升级系统的方式用程序来完成。