sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man frågar efter värden med jokertecken i PostgreSQL hstore

Du kan extrahera värden med nyckel från en hstore kolumnen med -> operatör .

SELECT data->'Supplier' AS sup
FROM products
WHERE lower(data->'Supplier') LIKE '%tosh%';

Dessutom, som de flesta uttryck i PostgreSQL (förutom saker som random() ), kan du indexera detta värde:

CREATE INDEX products_supplier_key ON products ((data->'Supplier'));
CREATE INDEX products_supplier_lowercase_key ON products ((lower(data->'Supplier')));

Detta skulle tillåta PostgreSQL att svara på många sådana frågor med hjälp av indexet istället för att hämta varje rad och skanna hstore kolumn. Se anteckningarna om Indextyper angående indexanvändning med LIKE.



  1. Lägg till Ordinal Indicator till ett datum i Oracle

  2. Hur inaktiverar jag tillfälligt db-integritetsbegränsningar i django - postgresql

  3. TIMESTAMPADD() Exempel – MySQL

  4. Korrekt användning av php mysqli autocommit och rollback