Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

데이터 유형 변환 참고

이 페이지에서는 사용자 지정 필드를 사용하여 소스 값과 데이터 유형을 특정 BSON 데이터 유형으로 변환한 결과를 보여주는 예시를 간략하게 설명합니다.

  • 마이그레이션 작업 오류로 인해 영향을 받는 필드에 BsonNull 값이 생성됩니다. 필드의 null 처리 전략은 이 동작에 영향을 주지 않습니다.

  • 마이그레이션 작업 생성할 때 정의한 임계값에 도달하지 않는 한 마이그레이션 작업 오류와 함께 계속됩니다.

  • 계산된 필드사용자 지정 ID 필드를 정의하는 경우 Relational Migrator 의 초기 데이터 유형 default 표시합니다. Relational Migrator 마이그레이션 작업 실행 하면 이 데이터 유형 업데이트합니다.

다음 예에서는 Integer 데이터 유형의 100 값에 데이터 유형 사용자 지정을 적용한 결과를 보여줍니다.

전환 유형
전환 가치

Boolean

false

Date

Thu Jan 01 10:00:00 AEST 1970

Decimal

100.0

Double

100.0

Integer

100

Long

100

String

100

다음 예제에서는 Boolean 데이터 유형의 true 값에 데이터 유형 사용자 지정을 적용한 결과를 보여줍니다.

전환 유형
전환 가치

Boolean

true

Date

Thu Jan 01 10:00:00 AEST 1970

Decimal

1.0

Double

1.0

Integer

1

Long

1

String

"true"

다음 예제에서는 Long 데이터 유형의 1233140483647 값에 데이터 유형 사용자 지정을 적용한 결과를 보여줍니다.

전환 유형
전환 가치

Boolean

false

Date

Wed Jan 28 22:01:23 AEDT 2009

Decimal

1233140483647.0

Double

1233140483647.0

Integer

Error (Too big)

Long

1233140483647

String

"1233140483647"

다음 예제에서는 Decimal 데이터 유형의 26.55 값에 데이터 유형 사용자 지정을 적용한 결과를 보여줍니다.

전환 유형
전환 가치

Boolean

false

Date

Error

Decimal

26.55

Double

26.55

Integer

26

Long

26

String

"26.55"

다음 예제에서는 String 데이터 유형의 "Hello" 값에 데이터 유형 사용자 지정을 적용한 결과를 보여줍니다.

전환 유형
전환 가치

Boolean

false

Date

Error

Decimal

Error

Double

Error

Integer

Error

Long

Error

String

"Hello"

다음 예제에서는 String 데이터 유형의 "true" 값에 데이터 유형 사용자 지정을 적용한 결과를 보여줍니다.

전환 유형
전환 가치

Boolean

true

Date

Error

Decimal

Error

Double

Error

Integer

Error

Long

Error

String

"true"

Oracle TIMESTAMP(0-9) 열은 다음 BSON types 옵션을 지원 . 이 예시 TIMESTAMP(9) 데이터 유형 의 소스 값 2025-01-01 12:34:56.123456789 을(를) 사용합니다.

BSON 유형
행동
출력 예시

Date (기본값)

밀리초 정밀도로 잘라냅니다. TIMESTAMP(0-3)의 경우 정밀도 손실이 발생하지 않습니다.

2025-01-01T12:34:56.123Z

String

전체 밀리초 미만의 정밀도를 문자열로 유지합니다.

"2025-01-01 12:34:56.123456789Z"

Long (milliseconds)

유닉스 시간 이후의 밀리초를 Int64로 저장합니다.

1735734896123

Long (microseconds)

유닉스 시간 이후 마이크로초를 Int64로 저장합니다.

1735734896123456

Long (nanoseconds)

유닉스 시간 이후 나노초를 Int64로 저장합니다.

1735734896123456789

Oracle TIMESTAMP WITH TIME ZONE 열은 다음 BSON types 옵션을 지원 . 이 예시 소스 값 2025-01-01 12:34:00.000 -05:00을(를) 사용합니다.

참고

1.15.4 이전 릴리스에서는 UTC로 이동하지 않고 현지 시간으로 저장된 TIMESTAMP WITH TIME ZONE 열에 대해 Date 을(를) 선택합니다. 업데이트된 Date (UTC) 옵션은 원래 구역 오프셋을 사용하여 타임스탬프를 UTC로 이동합니다.

BSON 유형
행동
출력 예시

String (기본값)

시간대 구역 을 포함한 전체 타임스탬프를 문자열로 저장합니다.

"2025-01-01 12:34:00.000 -05:00"

Date (UTC)

원래 구역 오프셋을 사용하여 타임스탬프를 UTC로 이동합니다.

2025-01-01T17:34:00.000Z

Date (Strip Time Zone)

표준 구역 오프셋을 무시하고 로컬 벽시계 시간을 UTC로 그대로 저장합니다.

2025-01-01T12:34:00.000Z

Date and String (Separate fields)

두 개의 하위 필드를 생성합니다: timestamp (BSON Date) 및 timeZone (BSON string).

{ timestamp: 2025-01-01T12:34:00Z, timeZone: "-05:00" }

Long (milliseconds)

UTC에 해당하는 시간 이후의 밀리초를 Int64로 저장합니다.

1735752840000

Long (microseconds)

UTC에 해당하는 시간 이후의 마이크로초를 Int64로 저장합니다.

1735752840000000

Long (nanoseconds)

UTC에 해당하는 시간 이후의 나노초를 Int64로 저장합니다.

1735752840000000000

Oracle NUMBER 열은 다음 BSON types 옵션을 지원 . 기본값 BSON 유형은 열의 확장하다 (s) 및 정수 정밀도(p - s)에 따라 달라집니다.

  • s > 0: Decimal (십진수128)

  • s <= 0(p - s) < 10: Integer (BsonInt32)

  • s <= 010 <= (p - s) < 19: Long (BsonInt64)

  • s <= 0(p - s) >= 19: Decimal (십진수128)

이 예시 소스 값 123456789을(를) 사용합니다.

BSON 유형
행동
출력 예시

Bool

0 을 거짓으로 취급하고 0이 아닌 숫자 값을 참으로 취급합니다.

true

Date

유닉스 시간 이후의 NUMBER를 밀리초로 해석합니다(1970-01-01T00:00:00Z). 값이 크면 오버플로되어 잘못된 날짜가 생성될 수 있습니다.

1970-01-02T10:17:36.789+00:00

Decimal

BSON Decimal128에 매핑합니다. 유효 숫자가 34 개를 초과하는 값은 정밀도가 떨어질 수 있습니다.

123456789

Double

BSON Double(64비트 부동 점)으로 변환합니다. 크거나 높은 정밀도 값은 IEEE 754 반올림으로 인해 정밀도가 떨어질 수 있습니다.

123456789

Integer

BSON Int32에 매핑합니다. Int32 범위 초과하는 값은 오류를 발생시킵니다.

123456789

Long

BSON Int64에 매핑합니다. Int64 범위 초과하는 값은 오류를 발생시킵니다.

123456789

String

모든 숫자를 문자열로 유지합니다. 완전한 숫자 충실도가 필요할 때 사용합니다.

"123456789"

소스 값이 34 유효 숫자를 초과하면 Decimal 매핑의 정밀도가 떨어질 수 있습니다. 다음 예시 소스 값 12345678901234567890123456789012345678 (38 유효 숫자)를 사용합니다.

BSON 유형
행동
출력 예시

Decimal

유효 숫자가 34 개를 초과하는 값은 정밀도가 떨어질 수 있습니다.

1.234567890123456789012345678901234E+37

String

모든 숫자를 문자열로 유지합니다. 완전한 숫자 충실도가 필요할 때 사용합니다.

"12345678901234567890123456789012345678"

Relational Migrator Oracle XMLTYPE 열을 BSON String에 매핑하여 XML 문서 string 값으로 저장합니다.

참고

XMLTYPE 열을 마이그레이션 하려면 xdb.jar Oracle JDBC 드라이버 파일 사용할 수 있는지 확인합니다.

돌아가기

사용자 지정 필드

이 페이지의 내용