SET ANSI 命令
确定如何在 Visual FoxPro SQL 命令中使用 = 运算符对不同长度的字符串进行比较。
语法
SET ANSI ON | OFF
参数
ON
(驱动程序的默认值;Visual FoxPro 的默认值为 OFF.) 用空白填充较短的字符串,使其等于较长字符串的长度。 然后,比较两个字符串的字符的整个长度。 请考虑此比较:
'Tommy' = 'Tom'
如果打开 SET ANSI,则结果为 False (.F.) ,因为填充时,“Tom”变为“Tom”,字符串“Tom”和“Tommy”与字符不匹配。
== 运算符使用此方法在 Visual FoxPro SQL 命令中进行比较。
OFF
指定较短的字符串不用空格填充。 两个字符串是字符的比较字符,直到到达较短字符串的末尾。 请考虑此比较:
'Tommy' = 'Tom'
当 SET ANSI 关闭时,结果为 True (.T.) ,因为比较在“Tom”之后停止。
注解
SET ANSI 确定进行 SQL 字符串比较时,是否用空白填充两个字符串中的较短一个字符串。 SET ANSI 对 == 运算符没有影响;使用 == 运算符时,较短的字符串始终填充空白以进行比较。
字符串顺序
在 SQL 命令中,比较中两个字符串的从左到右顺序不相关,将字符串从 = 或 == 运算符的一侧切换到另一侧不会影响比较的结果。