SELECT
t, lower(t), initcap(t), upper(t),
length(convert_to(t, 'UTF8')) AS t_bytes,
length(convert_to(lower(t), 'UTF8')) AS lower_t_bytes,
length(convert_to(initcap(t), 'UTF8')) AS initcap_t_bytes,
length(convert_to(upper(t), 'UTF8')) AS upper_t_bytes FROM test_pg_c_utf8;
DROPTABLE test_pg_c_utf8;
-- negative test: Final_Sigma not used for builtin locale C.UTF-8 SELECT lower('ΑΣ'COLLATE PG_C_UTF8); SELECT lower('ΑͺΣͺ'COLLATE PG_C_UTF8); SELECT lower('Α΄Σ΄'COLLATE PG_C_UTF8);
-- properties
SELECT'xyz' ~ '[[:alnum:]]'COLLATE PG_C_UTF8; SELECT'xyz' !~ '[[:upper:]]'COLLATE PG_C_UTF8; SELECT'@' !~ '[[:alnum:]]'COLLATE PG_C_UTF8; SELECT'=' ~ '[[:punct:]]'COLLATE PG_C_UTF8; -- symbols are punctuation in posix SELECT'a8a' ~ '[[:digit:]]'COLLATE PG_C_UTF8; SELECT'൧' !~ '\d'COLLATE PG_C_UTF8; -- only 0-9 considered digits in posix
-- case mapping
SELECT'xYz' ~* 'XyZ'COLLATE PG_C_UTF8; SELECT'xAb' ~* '[W-Y]'COLLATE PG_C_UTF8; SELECT'xAb' !~* '[c-d]'COLLATE PG_C_UTF8; SELECT'Δ' ~* '[γ-λ]'COLLATE PG_C_UTF8; SELECT'δ' ~* '[Γ-Λ]'COLLATE PG_C_UTF8; -- same as above with cases reversed
SELECT
t, lower(t), initcap(t), upper(t),
length(convert_to(t, 'UTF8')) AS t_bytes,
length(convert_to(lower(t), 'UTF8')) AS lower_t_bytes,
length(convert_to(initcap(t), 'UTF8')) AS initcap_t_bytes,
length(convert_to(upper(t), 'UTF8')) AS upper_t_bytes FROM test_pg_unicode_fast;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.