다음을 통해 공유


숫자, 문자열 및 부울 리터럴

적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime

식은 숫자, 문자열 및 부울 리터럴을 포함할 수 있습니다. 식 계산기는 정수, 10진수, 부동 소수점 상수와 같은 다양한 숫자 리터럴을 지원합니다. 식 계산기는 식 계산기가 값을 처리하는 방법과 숫자 리터럴의 과학적 표기법을 지정하는 long 및 float 접미사를 지원합니다.

숫자 리터럴

식 계산기는 정수 및 비진수 숫자 데이터 형식을 지원합니다. 또한 계보 식별자(패키지 요소의 고유 숫자 식별자)를 지원합니다. 계보 식별자는 숫자이지만 수치 연산에 사용할 수 없습니다.

식 계산기는 식 계산기의 숫자 리터럴 처리 방법을 나타내는 데 사용할 수 있는 접미사를 지원합니다. 예를 들어 37L 또는 37l을 써서 정수 37이 정수(Long)로 처리되도록 나타낼 수 있습니다.

다음 표에서는 숫자 리터럴의 접미사를 보여 줍니다.

접미사 설명
L 또는 l 정수(long) 숫자 리터럴.
U 또는 u 부호 없는 숫자 리터럴.
E 또는 e 과학적 표기법의 지수

다음 표에서는 숫자 식 요소와 해당 정규식을 나열합니다.

식 요소 정규식 설명
D로 표현된 숫자. [0-9] 임의의 숫자.
E로 표현된 과학적 표기법. [Ee][+-]?{D}+ 대문자 또는 소문자 e, 선택적 + 또는 -, D로 정의된 하나 이상의 자릿수
IS로 표현된 정수 접미사. (([lL]?[uU]?)|([uU]?[lL]?)) 선택적으로 대문자 또는 소문자 u와 l 또는 u와 l의 조합. U 또는 u는 부호 없는 값을 나타냅니다. L 또는 l은 long 값을 나타냅니다.
FS로 표현된 부동 접미사 ([f|F]|[l|L]) 대문자 또는 소문자 f 또는l. F 또는 f는 float 값(DT_R4 데이터 형식)을 나타냅니다. L 또는 l은 long 값(DT_R8 데이터 형식)을 나타냅니다.
H로 표현된 16진수. [a-fA-F0-9] 모든 16진수

다음 표에서는 정규식 언어를 사용하는 유효한 숫자 리터럴에 대해 설명합니다.

정규식 설명
{D}+{IS} 하나 이상의 숫자(D) 및 선택적으로 long 접미사 및/또는 부호 없는 접미사(IS)가 있는 정수 숫자 리터럴입니다. 예: 457, 785u, 986L, and 7945ul.
{D}+{E}{FS} 한 자릿수 이상의 비정수 숫자 리터럴(D), 과학적 표기법 및 Long 또는 float 접미사. 예: 4E8l, 13e-2f, and 5E+L.
{D}*"."{D}+{E}?{FS} 소수점 이하 자릿수가 있는 비정수 숫자 리터럴, 하나 이상의 숫자(D)가 있는 소수 분수, 선택적 지수(E), 그리고 float 또는 long 식별자(FS). 이 숫자 리터럴에는 DT_R4 또는 DT_R8 데이터 형식이 있습니다. 예:6.45E3f, .89E-2l, and 1.05E+7F.
{D}+"."{D}*{E}?{FS} 하나 이상의 유효 숫자(D)가 있는 비정수 숫자 리터럴, 소수점 이하 자릿수, 지수(E), 그리고 float 또는 long 식별자(FS). 이 숫자 리터럴에는 DT_R4 또는 DT_R8 데이터 형식이 있습니다. 예: 1.E-4f, 4.6E6L 및 8.365E+2f.
{D}*.{D}+ 전체 자릿수와 소수 자릿수를 갖는 비정수 숫자 리터럴. 소수점 이하 자릿수와 하나 이상의 숫자(D)가 있는 소수 분수. 이 숫자 리터럴에는 DT_NUMERIC 데이터 형식이 있습니다. 예: .9, 5.8 및 0.346.
{D}+.{D}* 전체 자릿수와 소수 자릿수를 갖는 비정수 숫자 리터럴. 하나 이상의 유효 숫자(D)와 소수점 이하 자릿수가 있습니다. 이 숫자 리터럴에는 DT_NUMERIC 데이터 형식이 있습니다. 예: 6., 0.2 및 8.0.
#{D}+ 계보 식별자. 파운드(#) 문자와 하나 이상의 숫자(D)로 구성됩니다. 예: #123.
0[xX]{H}+{uU} 16진수 형식의 숫자 리터럴. 여기에는 0, 대문자 또는 소문자 x, 하나 이상의 대문자 H 및 선택적으로 부호 없는 접미사가 포함됩니다. 예: 0xFF0A 및 0X000010000U.

식 계산기에 사용되는 데이터 형식에 대한 자세한 내용은 Integration Services 데이터 형식을 참조하세요.

식에는 데이터 형식이 다른 숫자 리터럴이 포함될 수 있습니다. 식 계산기는 이러한 식을 계산할 때 데이터를 호환되는 형식으로 변환합니다. 자세한 내용은 Integration Services Data Types in Expressions을 참조하세요.

그러나 일부 데이터 형식 간의 변환에는 명시적 캐스트가 필요합니다. 식 계산기는 명시적 데이터 형식 변환을 위한 캐스트 연산자를 제공합니다. 자세한 내용은 캐스트(SSIS 식)를 참조하세요.

Integration Services 데이터 형식에 숫자 리터럴 매핑

식 계산기는 숫자 리터럴을 계산할 때 다음 변환을 수행합니다.

  • 정수 숫자 리터럴은 다음과 같이 정수 데이터 형식에 매핑됩니다.

    접미사 결과 유형
    None DT_I4
    U DT_UI4
    L DT_I8
    UL DT_UI8

    Important

    long(L 또는 l) 접미사가 없으면 값이 데이터 형식을 오버플로하더라도 식 계산기는 부호 있는 값을 DT_I4 데이터 형식에 매핑하고 부호 없는 값을 DT_UI4 데이터 형식에 매핑합니다.

  • 지수를 포함하는 숫자 리터럴은 DT_R4 또는 DT_R8 데이터 형식으로 변환됩니다. 식에 Long 접미사가 있으면 DT_R8 데이터 형식으로 변환되고 float 접미사가 있으면 DT_R4 데이터 형식으로 변환됩니다.

  • 비진수 숫자 리터럴에 F 또는 f가 포함된 경우 DT_R4 데이터 형식에 매핑됩니다. L 또는 l을 포함하고 숫자가 정수인 경우 DT_I8 데이터 형식에 매핑됩니다. 실수인 경우 DT_R8 데이터 형식에 매핑됩니다. long 접미사가 포함된 경우 DT_R8 데이터 형식으로 변환됩니다.

  • 전체 자릿수와 소수 자릿수가 있는 비정수 숫자 리터럴은 DT_NUMERIC 데이터 형식에 매핑됩니다.

문자열 리터럴

문자열 리터럴은 따옴표로 묶어야 합니다. 식 언어는 인쇄할 수 없는 문자 및 따옴표와 같이 일반적으로 이스케이프된 문자에 대한 이스케이프 시퀀스 집합을 제공합니다.

문자열 리터럴은 따옴표로 묶인 0개 이상의 문자로 구성됩니다. 문자열에 따옴표가 포함된 경우 식을 구문 분석하려면 이스케이프해야 합니다. \x0000 문자는 문자열의 null 종결자이므로 \x0000을 제외한 모든 2 바이트 문자는 문자열에서 허용됩니다.

이스케이프 시퀀스가 필요한 다른 문자가 문자열에 포함될 수 있습니다. 다음 표에서는 문자열 리터럴에 대한 이스케이프 시퀀스를 나열합니다.

이스케이프 시퀀스 설명
\a 경고
\b 백스페이스
\f 폼 피드
\n 줄 바꿈
\r 캐리지 리턴
\t 가로 탭
\v 세로 탭
\" 물음표
\ 백슬래시
\xhhhh 16진수 표기법의 UNICODE 문자

부울 리터럴

식 계산기는 일반적인 부울 리터럴인 TrueFalse를 지원합니다. 식 계산기는 대/소문자를 구분하지 않으며 대문자와 소문자의 모든 조합이 허용됩니다. 예를 들어 TRUETrue처럼 작동합니다.

참고 항목

식에서 부울 리터럴은 공백으로 구분해야 합니다.