共用方式為


SET EXACT 命令

指定比較兩個不同長度字串的規則。

語法

  
SET EXACT ON | OFF  

引數

開啟
指定表達式必須符合字元,字元才能相等。 比較會忽略表達式中的任何尾端空白。 為了比較,兩個表達式的較短會在右邊填補空白,以符合較長表達式的長度。

OFF
(Default.) 指定,表達式必須符合字元的字元,直到到達右邊的表達式結尾為止。

備註

如果兩個字串的長度相同,SET EXACT 設定就沒有任何作用。

字串比較

Visual FoxPro 有兩個關係運算符,可測試是否相等。

= 運算子會在相同類型的兩個值之間執行比較。 此運算子適用於比較字元、數值、日期和邏輯數據。

不過,當您比較字元表達式與 = 運算符時,結果可能不是您預期的確切結果。 字元表達式會比較字元的字元,直到其中一個表達式不等於另一個表達式為止,直到到達 = 運算符右邊的表達式結尾 (SET EXACT OFF) ,或直到到達兩個表達式的結尾 (SET EXACT ON) 為止。

需要確切比較字元數據時,可以使用 == 運算符。 如果兩個字元表達式與 == 運算符進行比較,== 運算符兩端的表達式必須包含完全相同的字元,包括空白,才能視為相等。 使用 == 比較字元字串時,會忽略 SET EXACT 設定。

下表顯示運算子的選擇和SET EXACT 設定如何影響比較。 (底線代表空格。)

比較 = 完全關閉 = 精確 ON == EXACT ON 或 OFF
“abc” = “abc” 相符項目 相符項目 相符項目
“ab” = “abc” 沒有符合的結果 沒有符合的結果 沒有符合的結果
“abc” = “ab” 相符項目 沒有符合的結果 沒有符合的結果
“abc” = “ab_” 沒有符合的結果 沒有符合的結果 沒有符合的結果
“ab” = “ab_” 沒有符合的結果 相符項目 沒有符合的結果
“ab_” = “ab” 相符項目 相符項目 沒有符合的結果
“” = “ab” 沒有符合的結果 沒有符合的結果 沒有符合的結果
“ab” = “” 相符項目 沒有符合的結果 沒有符合的結果
"__" = "" 相符項目 相符項目 沒有符合的結果
"" = "___" 沒有符合的結果 相符項目 沒有符合的結果
TRIM (“___”) = “” 相符項目 相符項目 相符項目
“” = TRIM (“___”) 相符項目 相符項目 相符項目

另請參閱

SET ANSI 命令