숫자, 문자열, 불리언 리터럴

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

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

수치 리터럴

식 계산기는 정수 및 비진수 숫자 데이터 형식을 지원합니다. 또한 패키지 요소에 대한 고유 숫자 식별자인 계보 식별자도 지원합니다. 혈통 식별자는 숫자이지만, 수학적 연산에는 사용할 수 없습니다.

식 계산기는 식 계산기의 숫자 리터럴 처리 방법을 나타내는 데 사용할 수 있는 접미사를 지원합니다. 예를 들어, 37l 또는 37라고 써서 정수 37L가 long integer 데이터 형식으로 처리됨을 나타낼 수 있습니다.

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

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

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

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

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

정규 표현식 설명
{D}+{IS} 적어도 한 자리 숫자D()와 선택적으로 긴 부호 없는 접미사(IS)를 가진 정수 숫자 리터럴입니다. 예시: 457, 785u, 986L, 그리고 7945ul.
{D}+{E}{FS} 최소 한 자리 이상의 숫자(D), 과학적 표기법, 그리고 long 또는 float 접미사가 포함된 비정수 숫자 리터럴입니다. 예시: 4E8l, 13e-2f, 그리고 5E+L.
{D}*"."{D}+{E}?{FS} 소수점 자리가 포함된 비정수 숫자 리터럴, 최소 한 자리 이상의 숫자(),D 선택적 지수(E), 그리고 플로트 또는 긴 식별자 한 개(FS)를 포함하는 것입니다. 이 숫자 리터럴에는 DT_R4 또는 DT_R8 데이터 형식이 있습니다. 예시: 6.45E3f, .89E-2l, 그리고 1.05E+7F.
{D}+"."{D}*{E}?{FS} 최소 한 자리 이상의 유효 자리(D), 소수점, 지수(E), 그리고 하나의 수소수 또는 긴 식별자(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 하나 이상, 그리고 선택적으로 부호 없는 접미사가 포함됩니다. 예를 들어 0xFF0A0X000010000U가 있습니다.

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

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

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

숫자 리터럴을 통합 서비스 데이터 타입으로 매핑하기

표현식 평가자는 다음과 같이 수치 리터럴을 변환합니다:

  • 적수 수치 리터럴은 접미사를 기반으로 정수 데이터 타입에 매핑됩니다:

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

    중요

    긴 (L 또는 l) 접미사가 없으면, 표현식 평가기는 부호 있는 값은 DT_I4 데이터 타입에, 부호가 없는 값은 데이터 타입을 넘나들어도 DT_UI4 데이터 타입에 매핑합니다.

  • 지수를 포함하는 숫자 리터럴은 DT_R4 또는 DT_R8 데이터 타입으로 변환됩니다. 만약 표현에 긴 접미사가 포함된다면, DT_R8로 변환됩니다. float 접미사가 포함되어 있으면 DT_R4 데이터 타입으로 변환됩니다.

  • 비정수 숫자 리터럴에 f 또는 F가 포함되면 DT_R4 데이터 형식에 매핑됩니다. l또는 L이 포함되어 있고 숫자가 정수이면, DT_I8 데이터 형식으로 매핑됩니다. 실수인 경우 DT_R8 데이터 형식에 매핑됩니다. 긴 접미사가 포함되어 있으면 DT_R8 데이터 타입으로 변환됩니다.

  • 정밀도와 배율이 있는 비정수 숫자 상수는 DT_NUMERIC 데이터 형식에 매핑됩니다.

문자열 리터럴

문자열 문자를 따옴표로 감싸세요. 식 언어는 인쇄할 수 없는 문자 및 따옴표와 같이 일반적으로 이스케이프된 문자에 대한 이스케이프 시퀀스 집합을 제공합니다.

문자열 리터럴은 따옴표로 묶인 0개 이상의 문자로 구성됩니다. 문자열에 따옴표가 포함된 경우, 표현식이 올바르게 구문 분석되도록 해당 따옴표를 이스케이프 처리합니다. 문자열에는 \x0000를 제외한 모든 2바이트 문자를 포함할 수 있습니다. \x0000 문자는 문자열의 널 종료자이기 때문입니다.

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

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

부울 리터럴

식 계산기는 일반적인 부울 리터럴인 TrueFalse를 지원합니다. 표현 평가자는 대문자 구분이 아니며, 대문자와 소문자 조합을 허용합니다. 예를 들어 TRUETrue처럼 작동합니다.

참고

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