in MYSQL, given a string with dots in it, I want to select everything before the last dot. for example: input
www.java2s.com
output:
www.java2s
substring_index seems to do the opposite:
mysql> SELECT SUBSTRING_INDEX('www.java2s.com', '.', -1); +--------------------------------------------+ | SUBSTRING_INDEX('www.java2s.com', '.', -1) | +--------------------------------------------+ | com | +--------------------------------------------+
can this be done?
select substr('www.java2s.sth.com', 1, (length('www.java2s.sth.com')-
length(SUBSTRING_INDEX(('www.java2s.sth.com'), '.', -1))-1));`
If you are looking for a nicer solution here it is:
SET @domain = "www.java2s.com";
SELECT SUBSTRING(@domain, 1, LENGTH(@domain)-LOCATE('.', REVERSE(@domain)));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With