有点像php中的explode('.','1.2.3.4')
解决方案 »
- group by 的问题
- com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException
- 请教一种在MySQL中的对数据的统计方法
- mysql 这个功能也太差了吧。。这都不行??????????????
- mysql数据库里针对text类型文本的搜索有什么好的方法或建议吗?
- mysql的嵌套的查询语句有什么特殊的语法要求吗,这个为什么不对?
- ------KEY boardbbs1 (BoardID)与UNIQUE KEY boardbbs1 (BoardID) 有什么区别???------
- 為什麼我的MySQL程式在98下這麼慢呢?
- 多表关联模糊查询,怎么实现?
- 关于character_set_database和character_set_server的区别
- mysql like难题
- 在Mysql中 查询时字符串连加的函数有吗?
mysql> select SUBSTRING_INDEX('127.0.0.1','.',1),
-> SUBSTRING_INDEX('127.0.0.1','.',2),
-> SUBSTRING_INDEX('127.0.0.1','.',-1) \G
*************************** 1. row ***************************
SUBSTRING_INDEX('127.0.0.1','.',1): 127
SUBSTRING_INDEX('127.0.0.1','.',2): 127.0
SUBSTRING_INDEX('127.0.0.1','.',-1): 1
1 row in set (0.00 sec)mysql>
2、如果字符串比较短,而且格式固定的话,直接用SUBSTRING_INDEX()取值。
----------------------------
a | b | c | d
----------------------------
192 | 168 | 0 | 1
----------------------------
我也尝试过用substring_index。but,在定界符 delim 以及count 出现前,从字符串str返回自字符串。若count为正值,则返回最终定界符(从左边开始)左边的一切内容。若count为负值,则返回定界符(从右边开始)右边的一切内容。如果要用的话,估计要嵌套一个SUBSTRING_INDEX
-> SUBSTRING_INDEX(@ip,'.',1) as a,
-> SUBSTRING_INDEX(SUBSTRING_INDEX(@ip,'.',2),'.',-1) as b,
-> SUBSTRING_INDEX(SUBSTRING_INDEX(@ip,'.',3),'.',-1) as c,
-> SUBSTRING_INDEX(@ip,'.',-1) as d;
+------+------+------+------+
| a | b | c | d |
+------+------+------+------+
| 192 | 168 | 0 | 1 |
+------+------+------+------+
1 row in set (0.00 sec)mysql>
substring_index(substring_index('192.168.0.1','.',-2),'.',1),
substring_index(substring_index('192.168.0.1','.',-3),'.',1),
substring_index(substring_index('192.168.0.1','.',-4),'.',1)
substring_index(substring_index('192.168.0.1','.',-2),'.',1) as c,
substring_index(substring_index('192.168.0.1','.',-3),'.',1) as b,
substring_index(substring_index('192.168.0.1','.',-4),'.',1) as a
+---+---+---+---+
| a | b | c | d |
+---+---+---+---+
| 1 | 2 | 3 | 4 |
+---+---+---+---+
1 row in set (0.00 sec)
感觉有点繁琐,有没有简练一点的方法呢?
mysql> SELECT
-> INET_ATON(@ip) div POW(256,3) as a ,
-> INET_ATON(@ip) div POW(256,2) % 256 as b ,
-> INET_ATON(@ip) div POW(256,1) % 256 as c ,
-> INET_ATON(@ip) % 256 as d ;
+------+------+------+------+
| a | b | c | d |
+------+------+------+------+
| 192 | 168 | 0 | 1 |
+------+------+------+------+
1 row in set (0.00 sec)mysql>
就是要找这个函数。。php的ip2long有些算不准唉,没有熟读手册阿