IPV4_STRING_TO_NUM_OR_DEFAULT
ipv4_string_to_num_or_default
説明
A.B.C.D形式(ドット区切りの10進数)のIPv4アドレスを含む文字列を受け取ります。ネットワークバイトオーダー(ビッグエンディアン)のIPv4アドレスにおける、そのアドレスの数値に対応するBIGINT数値を返します。
構文
IPV4_STRING_TO_NUM_OR_DEFAULT(<ipv4_string>)
パラメータ
<ipv4_string>: IPv4文字列アドレス(フォーマット A.B.C.D)
戻り値
戻り値の型: BIGINT
戻り値の意味:
- 対応するIPv4アドレスのネットワークバイトオーダー(ビッグエンディアン)整数表現でのアドレスの数値を返す
- 無効なIPv4文字列または
NULL入力に対しては0を返す
使用上の注意
- この関数は例外をスローしません。無効な入力に対しては一律で0を返します(
0.0.0.0に相当) - 入力文字列の先頭/末尾の空白は許可されません
- ダーティデータのクリーニングなど、耐障害性のある変換シナリオで一般的に使用されます
例
IPv4テキスト192.168.0.1を対応するネットワークバイトオーダー(ビッグエンディアン)整数でのアドレスの数値に変換します。
select ipv4_string_to_num_or_default('192.168.0.1');
+----------------------------------------------+
| ipv4_string_to_num_or_default('192.168.0.1') |
+----------------------------------------------+
| 3232235521 |
+----------------------------------------------+
IPv4境界値(最小値と最大値)。
select
ipv4_string_to_num_or_default('0.0.0.0') as min_v4,
ipv4_string_to_num_or_default('255.255.255.255') as max_v4;
+--------+-----------+
| min_v4| max_v4 |
+--------+-----------+
| 0 | 4294967295|
+--------+-----------+
無効な入力に対して0を返します(例外はスローされません)。
select ipv4_string_to_num_or_default('256.0.0.1');
+--------------------------------------------+
| ipv4_string_to_num_or_default('256.0.0.1') |
+--------------------------------------------+
| 0 |
+--------------------------------------------+
select ipv4_string_to_num_or_default(' 1.1.1.1 ');
+--------------------------------------------+
| ipv4_string_to_num_or_default(' 1.1.1.1 ') |
+--------------------------------------------+
| 0 |
+--------------------------------------------+
select ipv4_string_to_num_or_default(NULL);
+-------------------------------------+
| ipv4_string_to_num_or_default(NULL) |
+-------------------------------------+
| 0 |
+-------------------------------------+
Keywords
IPV4_STRING_TO_NUM_OR_DEFAULT