2016-06-29 9 views
0

私のアプリでは、データベースに保存したときにIPv4アドレス指定がIPv6として表されていました。私はIPv4とIPv6の両方の文字列をデータベースに保存しました。だから、私がデータベースから取得するIP文字列がIPv4かIPv6かをチェックするにはどうすればいいですか?たとえば、IPv4: 192.168.98.62をIPv6 0x00000000000000000000FFFFC0A8623Eと表記します。私はMariadbコードでチェックしたいと思います。私を助けてください!あなたのHexはIP-住所をエンコードする前にチェックする方法ipv6として提示されたipv4

答えて

1

0x00000000000000000000FFFF のように見えるです。

次のIPは、ネットごとに2桁のC0A8623Eです。

Ipv6ストリングの先頭にストリングマッチを作ることができます。 例:それはV6またはv4のアドレスかどう

IPString LIKE '0x00000000000000000000FFFF%' 

これはあなたを教えてください。

これが役に立ちます。 Georg.Duees @

敬具、あなたの答えのための

ゲオルク

+1

おかげで、。 'IS_IPV4_MAPPED(UNHEX( '2001CDBA0000000000000032579652'))' –

+0

あなたのソリューションはもっときれいに見えます。 –

+0

これはおそらくそれを使う方法です: 'IS_IPV4_MAPPED(UNHEX( '00000000000000000000FFFFC0A8623E' )) ') –

関連する問題