Heim  >  Fragen und Antworten  >  Hauptteil

Gibt es in MySQL eine Möglichkeit, einen String innerhalb eines anderen Strings abzufragen?

Mysql Gibt es eine Möglichkeit zur Abfrage? Beispielsweise liegt die Zeichenfolge „3,5“ innerhalb der Zeichenfolge „3,4,5,2“

Die Situation ist wahrscheinlich so:

Benutzer haben mehrere Attribute und das Attribut Die ID wird in der Benutzertabelle verwendet. Ein Feld wird gespeichert

wie user_attr, das Wertspeicherformat ist: '3,4,5,2',

Erklärung: Beispielsweise ist die Zahl die Attribut-ID

Jetzt die Das Front-End muss Benutzer abfragen, die mehrere Attribute gleichzeitig haben

Zum Beispiel das Front-End Das Format der übergebenen Attribut-ID, die abgefragt werden muss, ist: '3,5', das Format der Zeichenfolge

Wie soll ich die Abfrage schreiben? Ich verwende thinkphp5, <<in, als hätte ich diese ausprobiert, aber keines davon funktioniert>> ;



ECHOECHO1726 Tage vor946

Antworte allen(5)Ich werde antworten

  • 孤独是一种态度

    孤独是一种态度2020-03-18 09:19:54

    find_in_set() 了解下

    Antwort
    0
  • lk

    lk2020-01-15 18:29:13

    like正解

    Antwort
    0
  • junwind

    junwind2020-01-14 17:12:31

    这里不需要用sql查询,将前端传递来的3,5 转为数组[3,5] ,然后 3,4,5,2也转为数组,对比一下就知道在不里面了

    Antwort
    0
  • null

    null2020-01-03 00:31:25

    把3,5转换为数组,循环拼接where条件,user_attr like '%3%' or user_attr like '%5%' groug by 用户id呢?可能效率没有那么高,可以实现

    Antwort
    0
  • ECHO

    用like的话 3,13 5,15 这种没法区分吧

    ECHO · 2020-01-04 16:00:36
  • StornierenAntwort