【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)

 

posted @ 2022-03-25 15:28  emdzz  阅读(245)  评论(0编辑  收藏  举报