Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie suche ich in MySQL nach dem Schrägstrich (\)? und warum Escapezeichen (\) nicht erforderlich, wo (=), aber für Like erforderlich ist?

\ fungiert als Fluchtzeichen in LIKE standardmäßig.

Aus dem Handbuch für LIKE :

Da MySQL C-Escape-Syntax in Strings verwendet (z. B. „\n“, um ein Zeilenumbruchzeichen darzustellen), müssen Sie jedes „\“, das Sie in LIKE-Strings verwenden, verdoppeln. Um beispielsweise nach „\n“ zu suchen, geben Sie es als „\\n“ ein. Um nach „\“ zu suchen, geben Sie es als „\\\\“ ein; das liegt daran, dass die Backslashes einmal vom Parser entfernt werden und erneut, wenn der Musterabgleich erfolgt ist , wobei ein einzelner umgekehrter Schrägstrich übrig bleibt, mit dem abgeglichen werden kann.

Sie können dies ändern, indem Sie ein anderes Escape-Zeichen angeben, wie in:

SELECT * FROM `titles` WHERE title LIKE 'test\\' ESCAPE '|'