【问题标题】:mysql substring_index reversemysql substring_index 反向
【发布时间】:2012-05-19 05:03:54
【问题描述】:

在 MYSQL 中,给定一个带有点的字符串,我想选择最后一个点之前的所有内容。例如: 输入

www.java2s.com

输出:

www.java2s

substring_index 似乎相反:

mysql> SELECT SUBSTRING_INDEX('www.java2s.com', '.', -1); +--------------------------------------------+ | SUBSTRING_INDEX('www.java2s.com', '.', -1) | +--------------------------------------------+ | com | +--------------------------------------------+

这个可以吗?

【问题讨论】:

    标签: mysql string


    【解决方案1】:
        select substr('www.java2s.sth.com', 1, (length('www.java2s.sth.com')- 
        length(SUBSTRING_INDEX(('www.java2s.sth.com'), '.', -1))-1));`
    

    【讨论】:

      【解决方案2】:

      如果您在这里寻找更好的解决方案,那就是:

      SET @domain = "www.java2s.com";
      SELECT SUBSTRING(@domain, 1, LENGTH(@domain)-LOCATE('.', REVERSE(@domain)));
      

      【讨论】:

        【解决方案3】:

        使用这个

        SELECT SUBSTRING_INDEX('www.java2s.com', '.', 2)
        

        更通用

        SELECT SUBSTRING_INDEX('www.java2s.com', '.', ( LENGTH('www.java2s.com') - LENGTH(REPLACE('www.java2s.com', '.', '')))  )
        

        【讨论】:

        • 问题是我不知道文件中有多少个点,我不知道是2还是x
        猜你喜欢
        • 2013-07-23
        • 2012-08-17
        • 1970-01-01
        • 2023-01-17
        • 2021-07-20
        • 2011-10-16
        • 2013-04-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多