Heim >Datenbank >MySQL-Tutorial >MySQL-Methode, um festzustellen, ob ein Feld eine Zeichenfolge enthält
MySQL-Methode zur Bestimmung, ob ein Feld eine Zeichenfolge enthält
Methode 1: like
SELECT * FROM Tabellenname WHERE Feldname wie „% Zeichen %“;
Methode 2: find_in_set()
Verwenden Sie die MySQL-String-Funktion find_in_set ();
SELECT * FROM users WHERE find_in_set('字符', 字段名);
Das ist in Ordnung, wie verstehst du das?
MySQL verfügt über viele String-Funktionen. Die Funktion find_in_set(str1,str2) gibt den Positionsindex von str1 in str2 zurück, der durch "," getrennt werden muss.
Hinweis: Wenn str2 NO1 ist: „3,6,13,24,33,36“, NO2: „13,33,36,39“, bestimmen Sie, ob das Feld str2 in den beiden Daten „ 3', diese Funktion kann
mysql > SELECT find_in_set()('3','3,6,13,24,33,36') as test; -> 1 mysql > SELECT find_in_set()('3','13,33,36,39') as test; -> 0
Methode drei:locate(character, field name)
Verwenden Sielocate(character, field name). )-Funktion gibt, falls enthalten, eine Zahl von >0 zurück, andernfalls 0.
Sein Alias ist Position in
select * from 表名 where locate(字符,字段) select * from 表名 where position(字符 in 字段);
Beispiel: Bestimmen Sie, ob die URL in der Site-Tabelle „http:/“ enthält. /' Teilzeichenfolge, wenn sie nicht enthalten ist, wird sie am Anfang der URL-Zeichenfolge gespleißt
update site set url =concat('http://',url) where locate('http://',url)=0
Beachten Sie, dass das Pluszeichen + nicht zum Spleißen von Zeichenfolgen in MySQL verwendet werden kann. Verwenden Sie die Concat-Funktion
Methode 4: INSTR (Feld, Zeichen)
wählen Sie * aus dem Tabellennamen aus, wobei INSTR (Feld, Zeichen)
ist Darüber hinaus überprüfte der Autor den Ausführungsplan des oben genannten SQL ((außer find_in_set) und stellte fest, dass sie alle sind:
Im Internet heißt es, dass die Verwendung von „locate Denn die Fuzzy-Abfrage ist schnell. Ich weiß nicht, wie es zu der Schlussfolgerung kam. Vielleicht liegt es an der großen Datenmenge.
(Empfohlenes kostenloses Lernvideo-Tutorial: MySQL-Video-Tutorial)
Das obige ist der detaillierte Inhalt vonMySQL-Methode, um festzustellen, ob ein Feld eine Zeichenfolge enthält. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!