? : (조건부)(SSIS 식)
적용 대상: Azure Data Factory SSIS Integration Runtime SQL Server
부울 식의 계산에 따라 두 식 중 하나를 반환합니다. 부울 식이 TRUE이면 첫 번째 식이 계산되고 반환 결과는 식의 결과입니다. 부울 식이 FALSE이면 두 번째 식이 계산되고 반환 결과는 식의 결과입니다.
구문
boolean_expression?expression1:expression2
인수
boolean_expression
TRUE, FALSE 또는 NULL로 계산되는 임의의 유효한 식입니다.
expression1
유효한 식입니다.
expression2
유효한 식입니다.
결과 형식
expression1 또는 expression2의 데이터 형식입니다.
설명
boolean_expression 이 NULL이면 식 결과도 NULL입니다. expression1 또는 expression2 중에서 선택한 식이 NULL이면 결과도 NULL입니다. 선택한 식은 NULL이 아니지만 선택하지 않은 식이 NULL이면 결과는 선택한 식의 값입니다.
expression1 및 expression2 의 데이터 형식이 같으면 결과도 해당 데이터 형식이 됩니다. 다음은 결과 형식에 적용되는 추가 규칙입니다.
DT_TEXT 데이터 형식은 expression1 및 expression2 의 코드 페이지가 같아야 합니다.
DT_BYTES 데이터 형식의 결과 길이는 둘 중에서 긴 인수의 길이입니다.
식 집합 expression1 및 expression2는 유효한 데이터 형식으로 계산되고 다음 규칙 중 하나를 따라야 합니다.
Numericexpression1 및 expression2 모두 숫자 데이터 형식이어야 합니다. 데이터 형식의 교집합은 식 계산기가 수행하는 암시적 숫자 변환에 대한 규칙에 지정된 대로 숫자 데이터 형식이어야 합니다. 두 숫자 데이터 형식의 교집합은 Null일 수 없습니다. 자세한 내용은 Integration Services Data Types in Expressions을 참조하세요.
Stringexpression1 및 expression2 모두 문자열 데이터 형식(DT_STR 또는 DT_WSTR)이어야 합니다. 두 식이 서로 다른 문자열 데이터 형식으로 계산될 수 있습니다. 결과는 DT_WSTR 데이터 형식으로 둘 중에서 긴 인수의 길이입니다.
Date, Time 또는 Date/Timeexpression1 및 expression2 모두는 DT_DBDATE, DT_DATE, DT_DBTIME, DT_DBTIME2, DT_DBTIMESTAMP, DT_DBTIMESTAMP2, DT_DBTIMESTAPMOFFSET 또는 DT_FILETIME 데이터 형식 중 하나로 계산되어야 합니다.
참고
시간 데이터 형식으로 계산되는 식과 날짜 또는 날짜/시간 데이터 형식 중 하나로 계산되는 식 사이의 비교는 지원되지 않습니다. 시스템에서 오류가 발생합니다.
식을 비교하는 경우 시스템은 다음 변환 규칙을 나열된 순서대로 적용합니다.
두 식이 같은 데이터 형식으로 계산되는 경우 해당 데이터 형식의 비교가 수행됩니다.
하나의 식이 DT_DBTIMESTAMPOFFSET 데이터 형식인 경우 다른 식은 DT_DBTIMESTAMPOFFSET으로 암시적으로 변환되며 DT_DBTIMESTAMPOFFSET 비교가 수행됩니다. 자세한 내용은 Integration Services Data Types in Expressions을 참조하세요.
하나의 식이 DT_DBTIMESTAMP2 데이터 형식인 경우 다른 식은 DT_DBTIMESTAMP2로 암시적으로 변환되며 DT_DBTIMESTAMP2 비교가 수행됩니다.
하나의 식이 DT_DBTIME2 데이터 형식인 경우 다른 식은 DT_DBTIME2로 암시적으로 변환되며 DT_DBTIME2 비교가 수행됩니다.
하나의 식이 DT_DBTIMESTAMPOFFSET, DT_DBTIMESTAMP2 또는 DT_DBTIME2 이외의 형식인 경우 다른 식은 DT_DBTIMESTAMP 데이터 형식으로 변환되어 비교됩니다.
식을 비교할 때 시스템에서는 다음과 같이 가정합니다.
각 식이 소수 자릿수 초를 포함하는 데이터 형식인 경우 시스템은 소수 자릿수 초의 자릿수가 가장 적은 데이터 형식의 나머지 자릿수를 0으로 가정합니다.
각 식이 날짜 데이터 형식이고 이 중 하나에만 표준 시간대 오프셋이 있는 경우 시스템은 표준 시간대 오프셋이 없는 날짜 데이터 형식을 UTC(Coordinated Universal Time)로 가정합니다.
데이터 형식에 대한 자세한 내용은 Integration Services Data Types을 참조하세요.
식 예
이 예에서는 조건에 따라 savannah
또는 unknown
으로 계산되는 식을 보여 줍니다.
@AnimalName == "Elephant"? "savannah": "unknown"
이 예에서는 ListPrice 열을 참조하는 식을 보여 줍니다. ListPrice 는 DT_CY 데이터 형식입니다. 이 식은 조건에 따라 ListPrice 에 .2 또는 .1을 곱합니다.
ListPrice < 350.00 ? ListPrice * .2 : ListPrice * .1
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기