MySQL 实现 lastindexof 的方法
2015-11-18 23:27
519 查看
场景:
在MySQL处理数据时,要取得数据库字段中文件名的扩展名,需要对数据库字段做lastIndexOf截断
方法一:
方法二:
方法三:
在MySQL处理数据时,要取得数据库字段中文件名的扩展名,需要对数据库字段做lastIndexOf截断
方法一:
SELECT SUBSTRING_INDEX('test.htm','.',-1)
方法二:
SELECT REVERSE(LEFT(REVERSE('test.htm'),INSTR(REVERSE('test.htm'),'.')))
方法三:
DELIMITER $$ DROP FUNCTION IF EXISTS `test`.`lastIndexOf`$$ CREATE DEFINER=`root`@`localhost` FUNCTION `fun_LastIndexOf`(str varchar(100)) RETURNS int(11) begin DECLARE num int default 0; DECLARE strs varchar(100); set strs = str; while instr(strs,'.') != 0 do set num =num+instr(strs,'.'); set strs = substring(strs,instr(strs,'.')+1); end while; return num; end$$ DELIMITER ;
SELECT MAX(CAST(substring(name,fun_LastIndexOf(name)+1) AS DECIMAL ))
FROM table_name
WHERE name = 'test.htm'
相关文章推荐
- Mysql 索引的基础(上)
- [mysql-Ver5.6.23] windows版my.ini配置
- SQL学习:SQLCookBook源代码-mysql版本(3)
- SQL学习:SQLCookBook源代码-mysql版本(2)
- mysql 日志详解
- mysqladmin flush-hosts
- MySQL—记录的增删改查操作
- SQL学习:SQLCookBook源代码-mysql版本(1)
- 【MySQL进阶】--char & varchar & text的区别
- MySQL 优化之 index merge(索引合并)
- MySQL性能优化的最佳21条经验
- ubuntu系统设置定时备份mysql
- mysql常见问题分享 - baidu
- mysql编写存储过程hibernate4调用
- MySQL server及workbench 安装配置
- MySQL乱码的问题解决
- MySQL索引及优化
- MySQL远程(IP)连接报错:Host 'IP地址' is not allowed to connect to this MySQL server
- Mysql学习笔记三, 数据类型的选择
- mysql 批量更新