Tips

文字列の厳格な比較

日付2018/08/07
ID18-007
バージョンv13以降
プラットフォームWin, Mac

文字コードレベルで文字列の厳格な比較を行うとき、Generate digestコマンドを利用すると簡単に実現できます。

次の例題コードを実行すると、最初のアラートでは「同じだ!」と表示され、次のアラートでは「違うよ!」と表示されます。この手法は、メールアドレスなどワイルドカードを含む文字列の比較にも利用できます。

  //文字列の厳格な比較

C_TEXT($text1;$text2)

$text1:="いしゃ"
$text2:="いしや"

If ($text1=$text2)
	ALERT("同じだ!")
Else 
	ALERT("違うよ!")
End if 

If (Generate digest($text1;MD5 digest)=Generate digest($text2;MD5 digest))
	ALERT("同じだ!")
Else 
	ALERT("違うよ!")
end if

なお、文字列の厳格な比較を使ったクエリは、4D v17以降であれば、ORDAを使うことで簡単に行うことができます。

  //メールアドレスの検索
$mail_address:=Lowercase($mail_address) //小文字に変換する
$result:=$menbers.query("email === :1";$mail_address) //登録されているアドレスはすべて小文字

参考資料:
ORDA - データクラス dataClass.query( )