Specifies whether to pad a shorter string with spaces when making a SQL string comparison or binary expression with zero (0) bytes when making a binary expression comparison in SQL commands using the equal sign operator (=).
![]() |
---|
В OLE DB провайдере Visual FoxPro, Вы не можете использовать в запросах величины в формате ANSI , однако команда SET ANSI поддерживается. |
SET ANSI ON | OFF |
Параметры
- ON
- Короткие символьные строки дополняются справа пробелами или нуль-символами (0) для уравнивания их с более длинными символьными строками или выражениями. Когда SET ANSI установлено в ON, обе сравниваемые символьные строки должны иметь одинаковую длину.
- OFF
- (По-умолчанию) Определяет, что короткие символьные строки не дополняются справа пробелами или нуль-символами (0) в целях уравнивания длин сравниваемых строк. Когда SET ANSI установлено в OFF, две символьные строки сравниваются символ за символом по достижению конца короткой строки.
Комментарии
Команда SET ANSI не эффективна при указании "двойного" сравнивания, оператор (= =). Когда Вы указываете данный оператор сравнения = = , короткая строка всегда дополняется справа пробелами или нуль-символом (до длины большей строки). Для дополнительной информации см. раздел Реляционные операторы.
Команда SET ANSI действует только в текущей рабочей сессии.
SET ANSI и Дизайнер Запросов Visual FoxPro выстраивают команды SELECT - SQL в Дизайнере Запросов . При использовании Вами конструкций Join и Filter, для операторов сравнения Equal или Exactly Like , используются соответствующие операторы = или = = в командах SELECT-SQL. Соответствующая установка Команды SET ANSI может повлиять на результат выполнения запроса.
Порядок строк. В командах SELECT-SQL порядок строк при сортировке не зависит от использования указанных операторов сравнения:
= или = = .
Пример
В следующем примере, когда SET ANSI установлено в ON, результатом будет False (.F.), потому , что при уравнивании строк до одинаковой длины их значения остаются различными:
![]() | |
---|---|
'Tommy' = 'Tom' |
Опрератор = = (двойного сравнения) используется в SELECT-SQL командах.
В следующем примере, когда SET ANSI установлено в ON, результатом будет True (.T.), потому, что сравнение завершается на 'Tom':
![]() | |
---|---|
'Tommy' = 'Tom' |
См. также
Другие Ссылки
Строки и сравнения их значений в Visual FoxProКоманда SET EXACT
Общее описание команды SET