2

このクエリの結果は、クエリを入力して返されるようにすることです (大文字と小文字はすべて無視します)。


例えば:

テーブルにこれらの列がある場合-> ID、名、姓

id用

151、442、112 と入力すると、結果が返されます。

名の場合

Jim、ji、または JIM と入力すると、結果が返されるはずです

姓の場合

Smith、smith、SMITH、または SmiTH と入力すると、結果が返されるはずです

目的は、ユーザー (データを入力しているユーザー) とデータベースの両方に大文字と小文字を区別しないようにすることです。各レコードはデータベースに固有であるため、名前と姓の組み合わせを入力しても心配する必要はありません。ジム・スミスまたはジム・スミスとして)

これは私のWHERE句の中にあります

WHERE #firstname# LIKE <cfqueryparam cfsqltype="cf_sql_varchar" value="%#firstnamevar#%" />


私の質問は、この質問の解決策を見つけるために、lower()、LCASE()、これら 2 つの混合物、またはまったく異なるものを使用する必要があるかということです。

4

2 に答える 2

2

データベース列の直前に UPPER を使用し、param 値の直前に UCase を使用する必要があります。また、名の前後にポンド記号は必要ありません。このような:

WHERE UPPER(firstname)
LIKE <cfqueryparam cfsqltype="cf_sql_varchar" value="%#UCase(firstnamevar)#%" />
于 2013-06-11T15:20:51.480 に答える