sql >> Database >  >> RDS >> PostgreSQL

Waarden opvragen met jokertekens in PostgreSQL hstore

U kunt waarden per sleutel extraheren uit een hstore kolom met de -> operator .

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

Bovendien, zoals de meeste expressies in PostgreSQL (behalve zaken als random() ), kunt u deze waarde indexeren:

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

Hierdoor zou PostgreSQL veel van dergelijke vragen kunnen beantwoorden met behulp van de index in plaats van elke rij op te halen en de hstore te scannen. kolom. Zie de opmerkingen over Indextypen over indexgebruik met LIKE.



  1. Haal de laatste 30-dagrecords op vanaf de datum van vandaag in SQL Server

  2. WordPress Custom Structure permalinks worden verbroken na migratie van site naar nieuw domein en server

  3. Enkele quote, dubbele quote en backticks in MySQL-query's

  4. Kan de herhalende waarden in iReport niet uitfilteren