メインコンテンツまでスキップ
バージョン: 26.x

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