0

データベースに2つのレコードがTom%JerryありNinja_Kidsます。1つには特殊文字%(percent)があり、もう1つには_(アンダースコア)があります。mysqlターミナルで次のコマンドを試しました。

SELECT * FROM CUSTOMER WHERE NAME LIKE '%%%';
SELECT * FROM CUSTOMER WHERE NAME LIKE '%_%';

両方のコマンドがすべてのレコードを返しました。

またはのいずれかを持つレコードをこれらに返すにはどうすればよいです%_

これは予約語のようにmysqlで使用されていることは知ってい%ますが、レコードに上記の特殊文字が含まれている場合はどうなりますか。

ところで、2つを除いて、正常に動作しない他の特殊文字を知っていますか?

助けてください。前もって感謝します。

4

2 に答える 2

2

あなたは脱出する必要が%あり_ます。ドキュメント。_

SELECT * FROM CUSTOMER WHERE NAME LIKE '%\%%';
SELECT * FROM CUSTOMER WHERE NAME LIKE '%\_%';
于 2012-07-11T07:15:03.753 に答える
1

次のように、前にエスケープ文字()を使用してみてください:-

select * from table where column like '\%\_' 


to match for string '%_'
于 2012-07-11T07:14:46.343 に答える