Fragen Sie Werte in durch Kommas getrennten Zeichenfolgen in MySQL ab
P粉763748806
P粉763748806 2023-08-17 14:24:54
0
2
348

Ich habe ein Feld COLORS (varchar(50)) in meiner Tabelle SHIRTS, das eine durch Kommas getrennte Zeichenfolge wie 1,2 enthält ,5,12,15,. Jede Zahl steht für eine verfügbare Farbe.

Wenn ich die Abfrage wähle * aus Hemden mit Farben wie „%1%“ ausführe um alle Hemden zu erhalten, die rot sind (Farbe=1), erhalte ich auch die Farbe grau ( = 12) und orangefarbene (=15) Hemden.

Wie soll ich die Abfrage so umschreiben, dass sie nur alle Farben mit der Farbe 1 auswählt, anstatt alle Farben, die die Nummer 1 enthalten?

P粉763748806
P粉763748806

Antworte allen (2)
P粉036800074

FIND_IN_SET在这种情况下是你的朋友

select * from shirts where FIND_IN_SET(1,colors)
    P粉254077747

    经典的方法是在左右两边添加逗号:

    select * from shirts where CONCAT(',', colors, ',') like '%,1,%'

    但是find_in_set也可以使用:

    select * from shirts where find_in_set('1',colors) <> 0
      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!