MySQL 实现 lastindexof 的方法

原创 2015年11月18日 23:27:34

场景:

    在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 实现 lastindexof 的方法

前提:需要了解几个mysql的函数 hans

SQL 中的LastIndexOf,截取最后一次出现字符后面的字符

SQL如何取出一个字符串中最后一个特殊字符右边的字符,例如:10*20*300,怎样得到300? 使用reverse配合charindex来实现。  reverse是把字符串倒置,然后通过...

MYSQL INDEXOF用法

from http://peter2009.iteye.com/blog/1181789 LOCATE(substr,str)     返回子串substr在字符串str第一个出现的位置,如果s...

【MySQL笔记】last_insert_id()函数使用的注意事项

在使用MySQL时,若表中含自增字段(auto_increment类型),则向表中insert一条记录后,可以调用last_insert_id()来获得最近insert的那行记录的自增字段值(一个bi...
  • slvher
  • slvher
  • 2014年12月31日 18:59
  • 19447

辛星简译MySQL中的last_query_cost

我们都知道在MySQL中可以通过show  status  like  'last_query_cost'  来查看查上一个查询的代价,而且它是io_cost和cpu_cost的开销总和,它通常也是我...

mysql的相仿indexOf方法

mysql的类似indexOf方法 LOCATE(substr,str)     返回子串substr在字符串str第一个出现的位置,如果substr不是在str里面,返回0.  mysq...

Android webview打印html的内容(html+js复合)

ps:因为我的内容是html+js一起填充的,所以不能直接打印 按照下边三个步骤就搞定了 1.  final class InJavaScriptLocalObj {@JavascriptInte...

Eclipse下搭建GitHub开发环境(二)

五、将SSH key添加到自己的Git账户。     在Eclipse下,选择window - perferences,在General选项中,选择Network Connections...
  • shehun1
  • shehun1
  • 2013年05月31日 23:22
  • 5896

mysql 实现 substring+lastindexof 的方法

方法一:SELECT SUBSTRING_INDEX(str, search_str, -1); 示例:mysql> SELECT SUBSTRING_INDEX('www.mysql.com', ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL 实现 lastindexof 的方法
举报原因:
原因补充:

(最多只允许输入30个字)