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

Usunąć/zamienić znaki specjalne w wartościach kolumn?

Możesz użyć regexp_replace funkcja pozostawienia tylko cyfr i liter, tak:

update mytable
   set myfield = regexp_replace(myfield, '[^\w]+','');

Co oznacza, że ​​wszystko, co nie jest cyfrą, literą lub podkreśleniem, zostanie zastąpione przez nic (w tym -, space, dot, comma itp.).

Jeśli chcesz również uwzględnić _ do wymiany (\w opuści to) możesz zmienić wyrażenie regularne na [^\w]+|_ .

Lub jeśli chcesz ściśle określić znaki, które należy usunąć, użyj:[- ]+ w tym przypadku myślnik i spacja.

Również zgodnie z sugestią Luiz Signorelly możesz użyć do zastąpienia wszystkich wystąpień:

    update mytable
       set myfield = regexp_replace(myfield, '[^\w]+','','g');


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przenieś tablicę postgresql do struktury za pomocą StructScan

  2. Dodaj lata do daty w PostgreSQL

  3. Analiza porównawcza zarządzanych rozwiązań chmurowych PostgreSQL — część czwarta:Microsoft Azure

  4. Sumuj do osiągnięcia wartości progowej, a następnie zresetuj licznik

  5. Wybór odpowiedniego indeksu dla zapytania PostgreSQL