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

Jak usunąć pojedyncze cudzysłowy z tabeli w postgresql?

Lepiej używaj replace() w tym celu:

UPDATE tbl SET col = replace(col, '''', '');

Dużo szybciej niż regexp_replace() i zastępuje "globalnie" - wszystkie wystąpienia szukanego ciągu. Wcześniej zaakceptowana odpowiedź @beny23 mylił się pod tym względem. Zastąpił tylko pierwsze wystąpienia, musiałby być:

UPDATE tbl SET col = regexp_replace(col, '''', '', 'g');

Zwróć uwagę na dodatkowy parametr 'g' dla „globalnie”. Przeczytaj o funkcjach łańcuchowych .

Na bok:kanoniczny (i standard SQL) sposób unikania pojedynczych cudzysłowów (' ) w literałach ciągów znaków to ich podwojenie ('' ). Oczywiście użycie sekwencji ucieczki w stylu Posix również działa. Szczegóły:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Plan wyjaśniania SQL:co to jest Materialise?

  2. Użyj zmiennej ustawionej przez meta-polecenie psql wewnątrz bloku DO

  3. Wiersz nie jest usuwany, ponieważ wyzwalacz kaskadowy aktualizuje ten wiersz

  4. Dodaj lata do daty w PostgreSQL

  5. wykluczanie zduplikowanych pól w łączeniu