Действие большей части функций выражений одинаково для всех поставщиков данных, однако есть несколько исключений.
При создании фильтра или расчетного свойства можно использовать любую функцию. Эти результаты не сохраняются в хранилище данных. Однако в системе AutoCAD Map 3D при использовании функции, которая возвращает неподдерживаемый тип данных для вставки значения в Таблицу данных, возникает исключение. Такая операция недопустима для поставщика данных. Например, SHP-файлы не поддерживают типы данных FdoInt16 или FdoDouble. При попытке сохранить значение с этим типом данных в хранилище данных с типом SHP произойдет ошибка.
В AutoCAD Map 3D можно применить выражение еще до подключения к хранилищу данных. Например, можно использовать запрос для добавления элементов на карту. Такая ситуация может стать проблемой для поставщиков данных ODBC, которые обладают возможностью подключаться к нескольким источникам данных. Не все источники ODBC поддерживают функции выражения. По этой причине функции всегда рассчитываются в ходе процедуры построения выражения, даже если это может выполняться источником данных.
Встроенная поддержка функции Soundex реализована во всех системах управления реляционными базами данных (RDBMS). Базовая RDBMS оценивает любые выражения, включая эту функцию. Однако результат, возвращаемый с помощью поставщика MySQL, может отличаться от результата, полученного от других поставщиков.
В SDF-поставщиках и SHP-поставщиках логическое условие представлено терминами ИСТИНА и ЛОЖЬ. В RDBMS-поставщиках логическое значение представлено цифрами 0 и 1. Это отличие может повлиять на вид меток. Например, следующее выражение определяет метку, указывающую на то, открыт клапан или нет:
Concat('Клапан открыт: ', <свойство_статуса_клапана>)
Для данных SDF-поставщиков и SHP-поставщиков на метке будет указано "Клапан открыт: истина". Для RDBMS-данных на метке будет указано "Клапан открыт: 1".
В функциях AddMonths и MonthsBetween не учитываются данные о дне, в отличие от систем RDBMS.
Например, для выражения AddMonths(<свойство_даты>, 88.7), в RDBMS-поставщике к указанной дате может быть добавлено 88,7 лет. Функция в созданных для продукта выражениях добавит только 88 месяцев.
Аналогичным образом для выражения MonthsBetween(<дата_1>, <дата_2>), поставщик RDBMS может возвратить значение 77,4. Функция в созданных выражениях для продукта возвратит 77.
Некоторые операции (например, создание расчетного свойства) являются кэшируемыми, для расчета которых используется процедура построения выражений. В других операциях (например, фильтр по хранилищу данных RDBMS) используется базовая система RDBMS.
Из-за различий между поставщиками результаты также могут отличаться. Например, при подключении к хранилищу данных MySQL можно создать два вычисляемых свойства: CP1 и CP2. CP1 определяется выражением Soundex(<свойство>), а CP2 — выражением Soundex(<литерал>). В таблице данных значения CP1 и CP2 могут быть одинаковыми. Однако при использовании фильтра, содержащего выражение Soundex(<свойство>) = Soundex(<литерал>) итоговые значения могут быть различны. В AutoCAD Map 3D в Таблице данных процедура построения выражения выполняет оценку выражений. Хранилище данных MySQL (которое использует отличное определение функции) оценивает фильтр.