Ich habe heute im Forum eine Frage zu MySQL gesehen:
good_id cat_id
12654 665.569
12655 601.4722
good_id ist die Produkt-ID
cat_id ist die Kategorie-ID
Wie überprüfe ich Daten anhand dieser Kategorie-ID (ein Produkt hat mehrere Kategorien, durch Kommas getrennt)
Ich verwende derzeit „Gefällt mir“ in diesem Fall Dieses Produkt kann durch Eingabe von 688 oder 4722 gefunden werden, dieses Produkt kann jedoch auch durch Eingabe von 722 gefunden werden.
Wenn Sie „like“ verwenden, wird es definitiv Probleme geben, die Zeichenfolge in cat_id durch ein Array zu ersetzen, damit die Funktion in mysql verwendet werden kann In diesem Fall wird die Suche 722 nicht angezeigt und alle Produkte unter der Kategorie 4722 werden angezeigt. Ich habe lange im Internet gesucht und konnte in diesem Bereich keine Funktionen zur String-Manipulation finden. Ich habe jedoch festgestellt, dass die Funktion find_in_set einen String zwar nicht in ein Array konvertieren kann, die obige Situation jedoch nicht auftritt. Ich stellte fest, dass es viele Funktionen gab, die ich nicht kannte, also habe ich sie lange Zeit im Handbuch und im Internet gesammelt und einige Beispiele erstellt.
CHAR_LENGTH(str) Gibt die Anzahl der Zeichen in str zurück
LENGTH(str) Gibt die Bytelänge von str zurück
CONCAT(str1,str2....) gibt die Verkettung der Parameter str1, str2.... zurück, wenn ein Nullwert vorhanden ist, null
CONCAT_WS (x, str1, str2...) ---concat mit Trennzeichen Der erste Parameter x stellt das Trennzeichen dar, und die folgenden Parameter sind die Zeichenfolge
Wenn x NULL ist, wird NULL zurückgegeben. Wenn die Zeichenfolge NULL hat, wird sie ignoriert
INSERT(s1,x,len,s2) Zeichenfolgenersetzung s1 Zielzeichenfolge x ist die Startposition von s1 (der Index beginnt bei 1) len ist Die Länge s2 nach x ist die Zeichenfolge, die ersetzt werden muss
Wenn x den Längenindex von s1 überschreitet, wird s1 zurückgegeben. Wenn len größer als die verbleibende Zeichenfolgenlänge nach x ist, ersetzen Sie alle
LOWER(str), LCASE(str) Zeichenfolgen werden in Kleinbuchstaben umgewandelt
UPPER(str), UCASE( str) Zeichenfolgen werden in Großbuchstaben umgewandelt
LEFT(str,n) gibt die n Zeichen ganz links der Zeichenfolge str
RIGHT(str ,n) Gibt die n Zeichen ganz rechts der Zeichenfolge str zurück LPAD(s1,len,s2) Gibt s2 zurück, das von links nach s1 bis zur Gesamtlänge aufgefüllt wird ist len, wenn lenTRIM(s1 FROM s2) Löscht die s1-Zeichenfolge, die an beiden Enden von s2 erscheint. REPEAT(s,n) gibt eine Zeichenfolge bestehend aus n s, n<= zurück 0, gibt leer zurück; s oder n ist NULL, gibt NULL zurück SPACE(n) Gibt n Leerzeichenfolgen zurückREPLACE(s,s1,s2) Gibt zurück --s wird durch s2 ersetzt. Das Ergebnis aller s1-StringsSTRCPM(s1,s2) s1==s2 gibt 0 s1< zurück ;s2 gibt -1 zurück s1>s2 gibt 1 zurück SUBSTRING(s,n,len), MID(s,n,len) gibt eine Zeichenfolge mit der Länge len zurück, beginnend mit n. Wenn n<0, beginnt es mit dem Abfangen von n Zeichen. Wenn n=0, kann eine leere Zeichenfolge zurückgegeben werden – alle Zeichen nach n werden abgefangen
LOCATE(str1, str2), POSITION(str1 IN str2), INSTR(str2, str1) Gibt die Startposition von str1 in str2 zurück
REVERSE(s) Gibt die Umkehrung der Zeichenfolge von s
ELT(n,str1,str2, str3) zurück ...) Gibt die n-te Zeichenfolge in str1, str2.. zurück, wenn n größer ist, geben Sie null zurück
FIELD(s,str1,str2,str3.. ..) Gibt zurück die Position des ersten Vorkommens von s in str1, str2...., ohne 0 zurückzugeben
FIND_IN_SET(s,str1) Gibt s in der Position des Vorkommens in str1 zurück , wobei str1 aus mehreren Zeichenfolgen besteht, einer durch Kommas getrennten Liste
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der String-Funktionen in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!