3

のような値を検索する必要があります1234-abc。データベースにはこの特定の値はありませんが、別の値があります1234。今問題は、次のようにクエリを書くときです

SELECT * FROM words WHERE tval='1234-abc'

空のレコードセットをフェッチする代わりに、1234値をフェッチし-ます。

http://sqlfiddle.com/#!2/9de62/3

4

2 に答える 2

2

BINARY完全一致のキーワードを使用できます

 SELECT tval FROM words WHERE BINARY  tval='1223-abc';

Binaryは、大文字と小文字を区別して完全WHEREに一致するように比較を強制する句の後にある組み込みキーワードです。

フィドル

于 2013-08-05T06:48:56.937 に答える
1

既存の式は暗黙的に文字列式を数値に変換しています。次のように、数値を文字列に明示的に変換する必要があります。

SELECT tval FROM words WHERE convert(tval,char(20))='1223-1ABCDE';

ここでSQLFiddle 。

于 2013-08-05T06:47:59.957 に答える