Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

StrComp

文字列比較の結果を示す値を返します。

Synopsis

StrComp(string1,string2[,compare])

引数

string1 有効な文字列式。
string2 有効な文字列式。
compare オプション — 文字列を評価する際に使用する比較の種類を示す数値。これを省略すると、バイナリ比較を実行します。値については、概要を参照してください。

概要

StrComp 関数は、2 つの文字列を文字単位で比較して、最初の不一致文字が見つかった時点か、文字列の最後が検出された時点で値を返します。StrComp は、以下の値を返します。

  • 2 つの文字列が同一の場合、または compare=1 で大文字小文字の違いのみの場合には 0 を返します。

  • string1 に不一致の文字があり、string2 内の対応する文字よりも、ANSI 文字コードの値が大きい場合は 1 を返します。compare=1 の場合、大文字小文字の違いは、同一と見なされます。string1string2 よりも長い場合、1 を返します。

  • string1 に不一致の文字があり、string2 内の対応する文字よりも、ANSI 文字コードの値が小さい場合は -1 を返します。compare=1 の場合、大文字小文字の違いは、同一と見なされます。string1string2 よりも短い場合、-1 を返します。

引数 compare の値は以下のとおりです。

定数 説明
vbBinaryCompare 0 バイナリ比較を実行しますこれが既定です。
vbTextCompare 1 テキスト比較を実行します大文字と小文字は区別されません。

StrComp 関数には、以下の返り値があります。

条件 StrComp の返り値
string1string2 より小さい -1
string1string2 と等しい 0
string1string2 より大きい 1

以下の例は、大文字と小文字だけが違う 2 つの文字列を比較します。

Println "default:  ",StrComp("abcd","ABCD")    ' Returns 1
Println "binary:   ",StrComp("abcd","ABCD",0)  ' Returns 1
Println "textual:  ",StrComp("abcd","ABCD",1)  ' Returns 0
Println "default:  ",StrComp("ABCD","abcd")    ' Returns -1
Println "binary:   ",StrComp("ABCD","abcd",0)  ' Returns -1
Println "textual:  ",StrComp("ABCD","abcd",1)  ' Returns 0

以下の例は、長さだけが違う 2 つの文字列を比較します。

Println "binary:  ",StrComp("abcde","abcd",0)  ' Returns 1
Println "textual: ",StrComp("abcde","abcd",1)  ' Returns 1
Println "binary:  ",StrComp("abcd","abcde",0)  ' Returns -1
Println "textual: ",StrComp("abcd","abcde",1)  ' Returns -1
FeedbackOpens in a new tab