老板的无理要求!(希望熟悉Oracle的朋友指点)# Database - 数据库
w*y
1 楼
老板对数据库迷恋,尤其对oracle迷恋,别的DB都嗤之以鼻,真是搞不懂他。
现在老板要求在Oracle把一个Number类型,转变成一个IP地址,而且不能用JDBC,ODBC。
只能用QUERY。
其实我认为就是先把Number类型转换成Binary类型,再按8位分组,再把8位转变成NUMBER
。
其实如果不用Oracle, 我用MYSQL可以写成:
SELECT CONCAT(CONV(SUBSTRING(BIN(ip_src), 1, 8), 2, 10),'.',
CONV(SUBSTRING(BIN(ip_src), 9, 8), 2, 10),'.',
CONV(SUBSTRING(BIN(ip_src), 17, 8), 2, 10),'.',
CONV(SUBSTRING(BIN(ip_src), 25, 8), 2, 10))
FROM header;
但在ORACLE下就不知道怎么办了(没有BIN,CONV,CONCAT函数),希望专家指点!谢谢!
现在老板要求在Oracle把一个Number类型,转变成一个IP地址,而且不能用JDBC,ODBC。
只能用QUERY。
其实我认为就是先把Number类型转换成Binary类型,再按8位分组,再把8位转变成NUMBER
。
其实如果不用Oracle, 我用MYSQL可以写成:
SELECT CONCAT(CONV(SUBSTRING(BIN(ip_src), 1, 8), 2, 10),'.',
CONV(SUBSTRING(BIN(ip_src), 9, 8), 2, 10),'.',
CONV(SUBSTRING(BIN(ip_src), 17, 8), 2, 10),'.',
CONV(SUBSTRING(BIN(ip_src), 25, 8), 2, 10))
FROM header;
但在ORACLE下就不知道怎么办了(没有BIN,CONV,CONCAT函数),希望专家指点!谢谢!