search LIKE '%a_search%'

  • Författare
  • Meddelande

wille83

css-hackare

  • Inlägg: 25
  • Blev medlem: 07 feb 2019, 23:03

search LIKE '%a_search%'

Inlägg08 mar 2019, 01:37

Kod: Markera allt
DROP PROCEDURE IF EXISTS search_product;
DELIMITER ;;
CREATE PROCEDURE search_product(
    a_search varchar(10)
)
BEGIN
SELECT
p.produkt_id,
p.produkt_namn,
p2l.hylla_lager,
p2l.antal_hylla_lager
   FROM produkt AS p
   left JOIN produkt2lager AS p2l
      ON p2l.produkt_id = p.produkt_id
   WHERE p.produkt_id LIKE '%a_search%' OR
   p.produkt_namn LIKE '%a_search%' OR
   p2l.hylla_lager LIKE '%a_search%'

   GROUP BY
   p.produkt_id
   ;
END
;;
DELIMITER ;


Jag lyckas inte lösa sökningen om jag inte vill att sökningen måste vara exakt. Jag antar att detta är fel? Hur kan jag skriva så den söker igenom hela strängen?
Användarvisningsbild

mos

dbwebb

  • Inlägg: 10729
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: search LIKE '%a_search%'

Inlägg08 mar 2019, 13:04

Du kan använda CONCAT för att konkatenera % med argumentet.
Kod: Markera allt
WHERE   b.Name LIKE CONCAT('%', a_name , '%');

Se https://stackoverflow.com/a/15896386/341137
...
..:
.... /mos

wille83

css-hackare

  • Inlägg: 25
  • Blev medlem: 07 feb 2019, 23:03

Re: search LIKE '%a_search%'

Inlägg11 mar 2019, 19:43

mos skrev:Du kan använda CONCAT för att konkatenera % med argumentet.
Kod: Markera allt
WHERE   b.Name LIKE CONCAT('%', a_name , '%');

Se https://stackoverflow.com/a/15896386/341137

Ah tack! :D Får det inte riktigt att fungera men ska fila vidare.

Vilka är online

Användare som besöker denna kategori: Google [Bot] och 13 gäster