식(SQL Server Compact)

데이터베이스 시스템이 하나의 데이터 값을 얻기 위해 계산하는 기호와 연산자의 조합입니다. 간단한 식은 하나의 상수, 변수, 열 또는 스칼라 함수가 있습니다. 연산자를 사용하여 두 개 이상의 간단한 식을 복잡한 식으로 결합할 수 있습니다.


{ constant 
   | scalar_function 
   | [ alias. ] column 
   | (expression) 
   | { unary_operator } expression 
   | expression { binary_operator } expression 
}

constant

하나의 특정 데이터 값을 나타내는 기호입니다. constant는 하나 이상의 영숫자(a-z 및 A-Z) 또는 기호(!, @, # 등)입니다. 유니코드 문자 및 datetime 값은 따옴표로 묶습니다. 이진 문자열 및 숫자 상수는 따옴표로 묶지 않습니다.

스칼라 함수

특정 작업을 수행하고 하나의 값을 반환하는 SQL 구문 단위입니다.

[ alias.]

FROM 절의 AS 키워드가 테이블에 할당하는 별칭 또는 상관 관계 이름입니다.

column

열의 이름입니다.

( expression )

SQL Server Compact의 모든 유효한 식입니다. 괄호는 괄호 내부 식의 모든 연산자를 먼저 계산한 다음 그 결과 식을 다른 식과 결합하는 구분 연산자입니다.

{ unary_operator}

숫자 피연산자가 하나만 있는 연산자입니다.

  • +는 양수를 나타냅니다.

  • -는 음수를 나타냅니다.

  • ~는 보수 연산자를 나타냅니다.

단항 연산자는 계산 결과가 숫자 데이터 형식 범주의 하나 이상의 데이터 형식인 식에만 적용할 수 있습니다.

{ binary_operator}

하나의 결과를 산출하기 위해 두 식을 결합하는 방법을 정의하는 연산자입니다. binary_operator는 산술 연산자, 대입 연산자(=), 비트 연산자, 비교 연산자, 논리 연산자, 문자열 연결 연산자(+) 또는 단항 연산자가 있습니다. 자세한 내용은 연산자(SQL Server Compact)를 참조하십시오.

하나의 상수, 변수, 스칼라 함수 또는 열 이름으로 이루어진 간단한 식의 경우 식의 데이터 형식, 전체 자릿수, 소수 자릿수 및 값은 참조한 요소의 데이터 형식, 전체 자릿수, 소수 자릿수 및 값과 같습니다.

두 식을 비교 연산자나 논리 연산자로 결합하는 경우 결과 데이터 형식은 부울이며 값은 다음 중 하나입니다.

  • TRUE

  • FALSE

  • UNKNOWN

두 식을 산술 연산자, 비트 연산자 또는 문자열 연산자를 사용하여 결합한 경우 결과 데이터 형식은 연산자에 따라 다릅니다.

많은 기호 및 연산자로 이루어진 복잡한 식은 하나의 결과 값을 반환합니다. 결과 식의 데이터 형식, 전체 자릿수 및 값은 최종 결과가 도출될 때까지 한 번에 두 식을 결합하여 결정됩니다. 식을 결합하는 순서는 식에 있는 연산자의 우선 순위에 의해 결정됩니다.

연산자가 두 식의 데이터 형식을 모두 지원하고 최소한 다음 조건 중 하나가 참인 경우 연산자는 두 식을 결합할 수 있습니다.

  • 두 식의 데이터 형식이 동일한 경우.

  • 우선 순위가 낮은 데이터 형식을 우선 순위가 높은 데이터 형식으로 암시적으로 변환할 수 있는 경우.

암시적 변환이 지원되지 않는 경우 두 식은 결합할 수 없습니다.

as MicrosoftVisual Basic과 같은 프로그래밍 언어에서 식은 항상 단일 값으로 계산됩니다. SQL 선택 목록의 식은 이 규칙을 다르게 적용합니다. 즉 결과 집합의 각 행에 대해 식이 개별적으로 계산됩니다. 하나의 식은 결과 집합의 각 행 마다 다른 값을 가질 수 있지만 각 행에 대해 식을 계산한 결과 값은 하나입니다. 예를 들어 다음의 SELECT 문에서 ProductID에 대한 참조 및 선택 목록의 1+2 조건도 모두 식입니다.

SELECT [Product ID], 1 + 2
FROM Products

1+2 식은 결과 집합의 각 행에서 3으로 계산됩니다. ProductID 식이 각 결과 집합 행에 고유한 값을 생성하더라도 각 행은 ProductID에 대해 하나의 값을 갖습니다.

표시: