0

MySQLは初めてです。スラッシュとバックスラッシュをエスケープするにはどうすればよいですか?テーブル内のパスを検索したい。

Path
----------------------
e:\5118\07_Live/Tools\
e:\5118/07_Live\Tools/

1つのクエリを使用してこれらの2つの行を選択するにはどうすればよいですか?私はそれが次のように見えると思います

select * from table Path e:(\|/)5118(\|/)07_Live(\|/)Tools(\|/);

SQLステートメントはどのように書くべきですか?

4

1 に答える 1

1
MySQL recognizes the following escape sequences.
\0  An ASCII NUL (0x00) character.
\'  A single quote (“'”) character.
\"  A double quote (“"”) character.
\b  A backspace character.
\n  A newline (linefeed) character.
\r  A carriage return character.
\t  A tab character.
\Z  ASCII 26 (Control-Z). See note following the table.
\\  A backslash (“\”) character.
\%  A “%” character. See note following the table.
\_  A “_” character. See note following the table.

したがって、クエリを次のように記述する必要があります

select * 
from table 
WHERE Path like  'e:\\5118\\07_Live\\Tools\\' or 
Path like  'e:/5118/07_Live/Tools/';

正規表現を使用して正規表現を照合する

select id, type, details from supportContacts
where type regexp 'e:[\\/]5118[\\/]07_Live[\\/Tools[\\/]';

このフィドルを確認してください

于 2013-02-25T05:53:21.083 に答える