【SQL】 去掉最后一段,只保留前段
需求描述:
例如给出这样一个地址或者其他字符:
10.11.12.13 192.168.177.209
101.102.103.104.105
...
要求只保留前面的部分,去掉最后一部分
10.11.12.13 192.168.177.209 101.102.103.104.105 ...
参考SQL字符串处理的函数:
https://www.cnblogs.com/vofill/p/6806962.html
关键点是Reverse函数,将字符串反转
https://www.cnblogs.com/ziyiang/articles/9152414.html
我的解法:
SET @target = '192.168.177.209'; SELECT REVERSE(SUBSTRING(REVERSE(@target), POSITION('.' IN REVERSE(@target)) + 1 )) AS `Solution`; Query OK, 0 rows affected (0.00 sec) +-------------+ | Solution | +-------------+ | 192.168.177 | +-------------+ 1 row in set (0.01 sec)