이 페이지에서는 사용자 지정 필드를 사용하여 소스 값과 데이터 유형을 특정 BSON 데이터 유형으로 변환한 결과를 보여주는 예시를 간략하게 설명합니다.
행동
Integer
다음 예에서는 Integer 데이터 유형의 100 값에 데이터 유형 사용자 지정을 적용한 결과를 보여줍니다.
전환 유형 | 전환 가치 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
부울
다음 예제에서는 Boolean 데이터 유형의 true 값에 데이터 유형 사용자 지정을 적용한 결과를 보여줍니다.
전환 유형 | 전환 가치 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Long
다음 예제에서는 Long 데이터 유형의 1233140483647 값에 데이터 유형 사용자 지정을 적용한 결과를 보여줍니다.
전환 유형 | 전환 가치 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10진수
다음 예제에서는 Decimal 데이터 유형의 26.55 값에 데이터 유형 사용자 지정을 적용한 결과를 보여줍니다.
전환 유형 | 전환 가치 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
문자열
다음 예제에서는 String 데이터 유형의 "Hello" 값에 데이터 유형 사용자 지정을 적용한 결과를 보여줍니다.
전환 유형 | 전환 가치 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
다음 예제에서는 String 데이터 유형의 "true" 값에 데이터 유형 사용자 지정을 적용한 결과를 보여줍니다.
전환 유형 | 전환 가치 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Oracle 타임스탬프
Oracle TIMESTAMP(0-9) 열은 다음 BSON types 옵션을 지원 . 이 예시 TIMESTAMP(9) 데이터 유형 의 소스 값 2025-01-01 12:34:56.123456789 을(를) 사용합니다.
BSON 유형 | 행동 | 출력 예시 |
|---|---|---|
| 밀리초 정밀도로 잘라냅니다. |
|
| 전체 밀리초 미만의 정밀도를 문자열로 유지합니다. |
|
| 유닉스 시간 이후의 밀리초를 Int64로 저장합니다. |
|
| 유닉스 시간 이후 마이크로초를 Int64로 저장합니다. |
|
| 유닉스 시간 이후 나노초를 Int64로 저장합니다. |
|
시간대가 포함된 Oracle 타임스탬프
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 유형 | 행동 | 출력 예시 |
|---|---|---|
| 시간대 구역 을 포함한 전체 타임스탬프를 문자열로 저장합니다. |
|
| 원래 구역 오프셋을 사용하여 타임스탬프를 UTC로 이동합니다. |
|
| 표준 구역 오프셋을 무시하고 로컬 벽시계 시간을 UTC로 그대로 저장합니다. |
|
| 두 개의 하위 필드를 생성합니다: |
|
| UTC에 해당하는 시간 이후의 밀리초를 Int64로 저장합니다. |
|
| UTC에 해당하는 시간 이후의 마이크로초를 Int64로 저장합니다. |
|
| UTC에 해당하는 시간 이후의 나노초를 Int64로 저장합니다. |
|
Oracle NUMBER
Oracle NUMBER 열은 다음 BSON types 옵션을 지원 . 기본값 BSON 유형은 열의 확장하다 (s) 및 정수 정밀도(p - s)에 따라 달라집니다.
s > 0:Decimal(십진수128)s <= 0및(p - s) < 10:Integer(BsonInt32)s <= 0및10 <= (p - s) < 19:Long(BsonInt64)s <= 0및(p - s) >= 19:Decimal(십진수128)
이 예시 소스 값 123456789을(를) 사용합니다.
BSON 유형 | 행동 | 출력 예시 |
|---|---|---|
| 0 을 거짓으로 취급하고 0이 아닌 숫자 값을 참으로 취급합니다. |
|
| 유닉스 시간 이후의 NUMBER를 밀리초로 해석합니다(1970-01-01T00:00:00Z). 값이 크면 오버플로되어 잘못된 날짜가 생성될 수 있습니다. |
|
| BSON Decimal128에 매핑합니다. 유효 숫자가 34 개를 초과하는 값은 정밀도가 떨어질 수 있습니다. |
|
| BSON Double(64비트 부동 점)으로 변환합니다. 크거나 높은 정밀도 값은 IEEE 754 반올림으로 인해 정밀도가 떨어질 수 있습니다. |
|
| BSON Int32에 매핑합니다. Int32 범위 초과하는 값은 오류를 발생시킵니다. |
|
| BSON Int64에 매핑합니다. Int64 범위 초과하는 값은 오류를 발생시킵니다. |
|
| 모든 숫자를 문자열로 유지합니다. 완전한 숫자 충실도가 필요할 때 사용합니다. |
|
십진수128 정밀도
소스 값이 34 유효 숫자를 초과하면 Decimal 매핑의 정밀도가 떨어질 수 있습니다. 다음 예시 소스 값 12345678901234567890123456789012345678 (38 유효 숫자)를 사용합니다.
BSON 유형 | 행동 | 출력 예시 |
|---|---|---|
| 유효 숫자가 34 개를 초과하는 값은 정밀도가 떨어질 수 있습니다. |
|
| 모든 숫자를 문자열로 유지합니다. 완전한 숫자 충실도가 필요할 때 사용합니다. |
|
Oracle XMLTYPE
Relational Migrator Oracle XMLTYPE 열을 BSON String에 매핑하여 XML 문서 string 값으로 저장합니다.
참고
XMLTYPE 열을 마이그레이션 하려면 xdb.jar Oracle JDBC 드라이버 파일 사용할 수 있는지 확인합니다.