PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak wykonać zapytanie wyszukiwania na wartości kolumny zawierającej ciąg z wartościami oddzielonymi przecinkami?

Możesz zrobić coś takiego.

select name from zone_table where 
string_to_array(replace(tags,' ',''),',')@>
string_to_array(replace('down, 110.22.100.3',' ',''),',');

1) usuń spacje w istniejącym ciągu, aby uzyskać prawidłową separację string_to_array bez żadnych spacji na początku, używając polecenia replace

2)ciąg_na_tablicę konwertuje łańcuch na tablicę oddzieloną przecinkiem.

3) @> czy zawiera operator

(LUB)

Jeśli chcesz dopasować jako całość

select name from zone_table where POSITION('down, 110.22.100.3' in tags)!=0

Dla osobnych meczów możesz zrobić

select name from zone_table where POSITION('down' in tags)!=0 and 
POSITION('110.22.100.3' in tags)!=0

Więcej o pozycji tutaj



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd gniazda Postgresql w OSX 10.7.3 podczas uruchamiania syncdb Django

  2. Błąd PostGres podczas używania Distinct :postgres ERROR:nie można zidentyfikować operatora zamawiającego dla rekordu typu

  3. Znajdź wszystkie przecięcia wszystkich zestawów zakresów w PostgreSQL

  4. Przyznaj wszystko w określonym schemacie w bazie danych do roli grupowej w PostgreSQL

  5. Czy rozszerzenie języka JavaScript plv8 może wywoływać biblioteki innych firm?