sql >> Databáze >  >> RDS >> PostgreSQL

Zpracování sekvencí Unicode v postgresql

\u0000 je jeden kód Unicode, který není platný v řetězci. Nevidím jiný způsob, než dezinfikovat řetězec.

Od json je pouze řetězec ve specifickém formátu, můžete použít standardní funkce řetězce, aniž byste se museli starat o strukturu JSON. Jednořádkový dezinfekční prostředek k odstranění bodu kódu by byl:

SELECT (regexp_replace(the_string::text, '\\u0000', '', 'g'))::json;

Můžete ale také vložit libovolný znak, který se vám líbí, což by bylo užitečné, pokud je nulový bod kódu použit jako nějaká forma oddělovače.

Všimněte si také jemného rozdílu mezi tím, co je uloženo v databázi, a tím, jak je to prezentováno uživateli. Bod kódu můžete uložit do řetězce JSON, ale před zpracováním hodnoty jako json jej musíte předem zpracovat na nějaký jiný znak. datový typ.



  1. Odkaz na skupiny v regulárním výrazu MySQL?

  2. Jak naformátovat pouze ty záznamy, u kterých se nevyhodí ORA-01843?

  3. 400 SELECT dotazů k naplnění php mřížky

  4. Začínáme s Oracle SQL Developer v systému Windows