簡體   English   中英

mysql substring_index反向

[英]mysql substring_index reverse

在MYSQL中,給定一個帶點的字符串,我想在最后一個點之前選擇所有內容。 例如:輸入

www.java2s.com

輸出:

www.java2s

substring_index似乎反其道而行之:

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

可以這樣做嗎?

    select substr('www.java2s.sth.com', 1, (length('www.java2s.sth.com')- 
    length(SUBSTRING_INDEX(('www.java2s.sth.com'), '.', -1))-1));`

如果您正在尋找更好的解決方案,那么它是:

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

用這個

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

更通用

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM