本文主要是介绍postgresql lc_ctype不同值之间的转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
LC_CTYPE 用于决定字元是否为数字,字母,空格,标点符号,及大小写等[1]。将 LC_CTYPE 设为「C」表示 isupper(c) 或 tolower(c) 等 C 语言函数[2]仅针对 US-ASCII 范围内的字元给出预期结果。因为像 upper()、lower() 或 initcap 这类型的Postgres SQL 语句是在libc 函数上实作的,所以只要字串中存在非 US-ASCII 字符,它们就会受到此影响。因此,在进行LC_CTYPE转换时,需要注意表格中是否有非 US-ASCII 字符,并在进行任何变动前后,建议需要根据实际环境用例及数据进行测试,以确定其影响。
#数据库my_db的lc_ctype为C:
my_db=> SELECT name, setting FROM pg_settings WHERE category ~ 'Locale';
name | setting
----------------------------+-------------------
client_encoding | UTF8
DateStyle | ISO, MDY
default_text_search_config | pg_catalog.simple
extra_float_digits | 1
IntervalStyle | postgres
lc_collate | C
lc_ctype | C <----------------
lc_messages |
lc_monetary
这篇关于postgresql lc_ctype不同值之间的转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!