Heim > Datenbank > MySQL-Tutorial > MySQL-Methode, um festzustellen, ob ein Feld eine Zeichenfolge enthält

MySQL-Methode, um festzustellen, ob ein Feld eine Zeichenfolge enthält

藏色散人
Freigeben: 2020-02-07 09:43:04
Original
29121 Leute haben es durchsucht

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('字符', 字段名);
Nach dem Login kopieren

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
Nach dem Login kopieren

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 字段);
Nach dem Login kopieren

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
Nach dem Login kopieren

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:

MySQL-Methode, um festzustellen, ob ein Feld eine Zeichenfolge enthält

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage