LIKE sorguda% karakteri bul

2 Cevap php

Bir SQL veritabanı var ve ben işareti "%" içeren tüm veriler gösteriyor bir sorgu yapmak istiyorum. Ben böyle bir sorgu kullanmak bir veritabanında: Normalde, ("z" örneğin) bir karakteri bulmak için:

mysql_query("SELECT * FROM mytable WHERE tag LIKE '%z%'");

Ama burada, ben% karakteri bulundu istiyor, ama ben yazarken SQL öyle bir joker:

mysql_query("SELECT * FROM mytable WHERE tag LIKE '%%%'");

Bana benim veriler gösteriyor. Peki nasıl benim SQL veriler içinde% karakteri kurmak için?

Teşekkürler

2 Cevap

Sen bir ters eğik çizgi ile % işaretini kaçabilir:

SELECT * FROM mytable WHERE tag LIKE '%\%%'

: MySQL 5.0 Reference Manual :: 8.1.1 String s aktarıyorum

\% ve \_ dizileri % ve _ onlar başka türlü olurdu desen eşleştirme bağlamlarda edebi örneklerini aramak için kullanılır joker karakter olarak yorumlanır.

Burada standart bir yoludur:

SELECT * FROM mytable WHERE tag like '%|%%' ESCAPE '|'