v2.5.2
Giriş yap

Where kullanırken karakter seçerek göstermek

resat
310 defa görüntülendi ve 2 kişi tarafından değerlendirildi

Merhaba arkadaşlar aşağıda ki gibi bir sorgum var. Veritabanında p.image kısmında kayıtlı veriler var. Bu verilerin son 3 karakterinde JPG yazmıyor. Sorgu yaparken bunları ayıklayabilirmiyim göstermek istemiyorum.

   $products = $this->db->query("SELECT  ptc.product_id,p.sort_order FROM " . DB_PREFIX . "product_to_category ptc INNER JOIN " . DB_PREFIX . "product p ON p.product_id=ptc.product_id WHERE ptc.category_id='$category_id' AND LENGTH(p.image)>2 AND p.status=1 AND p.quantity>0 ORDER BY p.sort_order")->rows;
Cevap yaz
Cevaplar (1)
ebykdrms
903 gün önce

Sorunuzun benzeri stackoverflow.com'da sorulmuş.
Cevaben şöyle yazılmış:
Dokümantasyonda doğrudan bununla ilgili bir örnek var:

SELECT * FROM table WHERE SUBSTRING(field, -4) = '.png'

Burada son 4 hanesi ".png" olanları seçmiş. Siz "JPG" olmayanları seçmek istiyorsunuz:

SELECT 
    ptc.product_id,
    p.sort_order 
FROM 
    my_product_to_category ptc 
INNER JOIN 
    my_product p ON p.product_id=ptc.product_id 
WHERE 
    ptc.category_id=20 
    AND LENGTH(p.image)>2
    AND p.status=1 
    AND p.quantity>0 
    AND SUBSTRING(p.image, -3) <> 'JPG'
ORDER BY 
    p.sort_order