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 つの文字列の左から右の順序は、 = または == 演算子の一方の側から他方の側への文字列の切り替えは、比較の結果には影響しません。