본문으로 건너뛰기
최종 수정: 에

IPV4_STRING_TO_NUM_OR_DEFAULT

설명​

A.B.C.D 형식(점으로 구분된 십진수)의 IPv4 주소가 포함된 문자열을 입력받습니다. 해당 IPv4 주소의 숫자 값을 네트워크 바이트 순서(big endian)로 나타내는 BIGINT를 반환합니다.

구문​

IPV4_STRING_TO_NUM_OR_DEFAULT(<ipv4_string>)

매개변수​

  • <ipv4_string>: IPv4 주소 문자열(A.B.C.D 형식)

반환 값​

반환 타입: BIGINT

반환 값의 의미:

  • 해당 IPv4 주소의 숫자 값을 네트워크 바이트 순서(big endian)의 정수로 반환합니다.
  • 유효하지 않은 IPv4 문자열에는 0을 반환하며, NULL 입력에도 같은 값을 반환합니다.

사용 시 참고 사항​

  • 이 함수는 예외를 발생시키지 않으며, 유효하지 않은 입력에는 항상 0을 반환합니다(0.0.0.0에 해당).
  • 입력 문자열의 앞뒤 공백은 허용되지 않습니다.
  • 잘못된 데이터를 정리하는 등 오류를 허용하는 변환 작업에 주로 사용됩니다.

예제​

IPv4 텍스트 192.168.0.1을 해당 숫자 값을 나타내는 네트워크 바이트 순서(big endian)의 정수로 변환합니다.

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 |
+-------------------------------------+

키워드​

IPV4_STRING_TO_NUM_OR_DEFAULT