대부분의 표현식 함수는 모든 데이터 공급자에 걸쳐 동일한 방법으로 실행되지만 몇 가지 예외가 있습니다.
필터 또는 계산된 특성을 작성하는 경우 함수를 사용할 수 있습니다. 이러한 결과는 데이터 저장소에 다시 저장되지 않습니다. 그러나 지원되지 않는 데이터 유형을 반환하는 함수를 사용하여 값을 데이터 테이블에 삽입할 경우 예외가 발생합니다. 이러한 작업은 데이터 공급자에게 올바르지 않습니다. 예를 들어, SHP 파일은 FdoInt16 또는 FdoDouble 데이터 형식을 지원하지 않습니다. 해당 데이터 유형 값을 SHP 데이터 저장소에 다시 저장하는 경우 오류가 발생합니다.
AutoCAD Map 3D에서는 데이터 저장소에 실제로 연결하기 전에 표현식을 적용할 수 있습니다. 예를 들어 조회를 사용하여 지도에 피쳐를 추가할 수 있습니다. 이 경우 여러 데이터 소스에 연결할 수 있는 ODBC 공급자에게 문제가 될 수 있습니다. 일부 ODBC 소스는 표현식 함수를 지원하지 않습니다. 이러한 이유 때문에 연결된 데이터 소스에서 표현식 함수를 지원하더라도 모든 경우에 해당 함수의 평가는 표현식 작성 프로세스의 일부로 이루어집니다.
Soundex 함수는 기본적으로 모든 RDBMS(관계형 데이터베이스 관리 시스템)에서 지원됩니다. 기본 RDBMS는 이 함수를 비롯한 모든 표현식을 계산합니다. 그러나 MySQL 공급자가 반환하는 결과가 다른 공급자로부터 받은 결과와 다를 수 있습니다.
SDF 및 SHP 공급자는 TRUE 및 FALSE라는 용어로 부울 값을 표현합니다. RDBMS 공급자는 부울 값을 0 및 1로 표현합니다. 이러한 차이가 레이블 표시에 영향을 줄 수 있습니다. 예를 들어, 다음 표현식에서는 밸브의 개폐 여부를 나타내는 레이블이 정의되어 있습니다.
Concat('Valve is open: ', <valve_status_property>)
SDF 및 SHP 데이터의 경우 레이블은 "Valve is open: True"로 표시되며 RDBMS 데이터의 경우에는 "Valve is open: 1"로 표시됩니다.
AddMonths 및 MonthsBetween 함수의 경우 일 정보를 고려하지 않지만 RDBMS 시스템에서는 고려합니다.
예를 들어, 표현식 AddMonths(<date_property>, 88.7)의 경우 RDBMS 공급자가 88.7개월을 제공된 날짜에 추가할 수 있습니다. 해당 제품에서 작성하는 표현식의 함수는 88개월만 추가합니다.
이와 유사하게, 표현식 MonthsBetween(<date_1>, <date_2>)의 경우 RDBMS 공급자는 77.4 값을 반환할 수 있으며, 해당 제품에서 작성하는 표현식의 함수는 77을 반환합니다.
일부 작업(예: 계산된 특성 작성)은 캐시 기반 작업이며 평가에 표현식 작성 프로세스를 사용합니다. 다른 작업(예: RDBMS 데이터 저장소에서 필터링)은 기본 RDBMS 시스템을 사용합니다.
공급자 간의 차이로 인해 다른 결과가 나올 수 있습니다. 예를 들어, MySQL 데이터 저장소에 연결하면 CP1과 CP2라는 두 개의 계산된 특성을 작성할 수 있습니다. CP1은 Soundex(<property>) 표현식으로 정의되며 CP2는 Soundex(<literal>) 표현식으로 정의됩니다. 데이터 테이블에서 CP1과 CP2에 대한 값이 동일할 수 있습니다. 그러나 표현식 Soundex(<property>) = Soundex(<literal>)이 포함된 필터를 사용할 경우 결과 값이 달라질 수 있습니다. AutoCAD Map 3D의 데이터 테이블에서 표현식 작성 프로세스가 표현식을 평가합니다. 다른 함수 정의가 사용되는 MySQL 데이터 저장소에서는 필터가 계산됩니다.