SET ANSI コマンド

Visual FoxPro SQL コマンドの = 演算子を使用して、長さが異なる文字列間の比較を行う方法を決定します。

構文

  
SET ANSI ON | OFF  

引数

ON
(ドライバーの既定値。Visual FoxPro の既定値は OFF です)。短い文字列に、長い文字列の長さに等しくするために必要な空白を埋めます。 その後、2 つの文字列は、その長さ全体の文字と比較されます。 次の比較を検討してください。

'Tommy' = 'Tom'  

SET ANSI がオンの場合、'Tom' は 'Tom' になり、文字列 'Tom ' と 'Tommy' は文字と一致しないため、結果は False (.F.) になります。

== 演算子は、Visual FoxPro SQL コマンドの比較にこのメソッドを使用します。

OFF
短い文字列に空白を埋め込まないことを指定します。 2 つの文字列は、短い文字列の末尾に達するまで文字と比較されます。 次の比較を検討してください。

'Tommy' = 'Tom'  

SET ANSI がオフの場合、'Tom' の後に比較が停止するため、結果は True (.T.) になります。

注釈

SET ANSI は、SQL 文字列比較が行われるときに、2 つの文字列の短い方に空白が埋め込まれるかどうかを判断します。 SET ANSI は、== 演算子には影響しません。== 演算子を使用すると、短い文字列は常に、比較のために空白で埋め込まれます。

文字列の順序

SQL コマンドでは、比較内の 2 つの文字列の左から右の順序は、 = または == 演算子の一方の側から他方の側への文字列の切り替えは、比較の結果には影響しません。

参照

SELECT - SQL コマンド
SET EXACT コマンド