sql >> Databasteknik >  >> RDS >> PostgreSQL

internationaliserat reguljärt uttryck i postgresql

PostgreSQL stöder inte teckenklasser baserade på Unicode Character Database som .NET gör. Du får den mer standardiserade [[:alpha:]] teckenklass, men det här är språkberoende och kommer förmodligen inte att täcka det.

Du kanske kan komma undan med att bara svartlista de ASCII-tecken du inte vill ha, och tillåta alla icke-ASCII-tecken. t.ex. något liknande

[^\s!"#$%&'()*+,\-./:;<=>?\[\\\]^_`~]+

(JavaScript har inte heller icke-ASCII-teckenklasser. Eller till och med [[:alpha:]] .)

Till exempel, givet v_text som en textvariabel som ska saneras:

-- Allow internationalized text characters and remove undesired characters
v_text = regexp_replace( lower(trim(v_text)), '[!"#$%&()*+,./:;<=>?\[\\\]\^_\|~]+', '', 'g' );



  1. Visningar i SQL Server

  2. Oracle GROUP_CONCAT() ekvivalent

  3. Dolda funktioner i Oracle

  4. Inkludera tabeller och scheman när du listar identitetskolumnerna i en SQL Server-databas