sql >> Database teknologi >  >> RDS >> PostgreSQL

internationaliseret regulært udtryk i postgresql

PostgreSQL understøtter ikke tegnklasser baseret på Unicode Character Database ligesom .NET gør. Du får den mere standardiserede [[:alpha:]] karakterklasse, men dette er lokalitetsafhængigt og vil sandsynligvis ikke dække det.

Du kan muligvis slippe afsted med bare at sortliste de ASCII-tegn, du ikke ønsker, og tillade alle ikke-ASCII-tegn. fx noget lignende

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

(JavaScript har heller ikke ikke-ASCII-tegnklasser. Eller endda [[:alpha:]] .)

For eksempel givet v_text som en tekstvariabel, der skal renses:

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



  1. Hvad er det maksimale antal tegn, som nvarchar(MAX) kan indeholde?

  2. Udfør kun udskudt trigger én gang pr. række i PostgreSQL

  3. Sådan får du den sidste dag i måneden i MySQL

  4. Få størrelsen på en database i MariaDB