test_fuc01表字段类型:id: int num int
1、字符串的拼接 string||string string||non-string
说明:字符串或与非字符串连接
select id||':'||num from test_fuc01;
2、计算字符串中字符的个数 char_length(a)
只能是字符串,
select char_length(cast(num as varchar)) from test_fuc01;
3、替换字符串中任意长度的子字符串为新字符串 overlay
只能是字符串:
select overlay(cast(num as varchar) placing '1' from 1 for 2) as xgh from test_fuc01;
4、字符串在一字符串中的位置:position
只能是字符串:
select position('4' in cast(num as varchar)) from test_fuc01;
5、截取任意长度的子字符串 substring 也可以利用正则表达式对一字符串进行任意长度的字符串截取
select substring(cast(num as varchar) from 1 for 2) from test_fuc01;--表示从第1位开始截取两位
select substring(cast(num as varchar) from '.$') from test_fuc01;--表示由后向前截取,一个点表示一位,如果字段内容小于截取长度,值为null;
6、从字符串的开头,结尾,两边删除只包含指定字符的最长字符串trim
select trim(both '47' from cast(num as varchar)) from test_fuc01;
--只要包含4和7字符的都删除掉.
7、lower(string)--把字符串转换为小写
select lower('SS') from test_fuc01;
8、upper(string)--把字符串转换为大写
select upper('aa') from test_fuc01;
9、bit_length(string) -- 计算字符串位数
--一个汉字3个字节,一个字母1个字节,一个数字8个字节,一个字节8个bits
select "bit_length"(cast (num as varchar))/8 from test_fuc01;
10、
——————————————————————————————————————————
聚合函数:
1、string_agg(expression,delimiter)--输入值连接成为一个字符串,用分隔符分开.
select string_agg(cast(num as varchar),'-') from test_fuc01 ;
--把num列的值用-拼起来
2、json_agg(expression)--聚合值作为json数组
select json_agg(cast(num as varchar)) from test_fuc01; --把num列生成一个json格式的列表
select json_agg(cast(id as varchar)) as xh,json_agg(cast(num as varchar)) as xh1 from test_fuc01;
————————————————————————————————————————————
信息函数:
1、查看当前的数据库库名 select current_database
(); or select * from current_database
();
2、查看当前模式的名字 select current_schema
(); or select * from current_schema
();
3、当前执行环境下的用户名 select current_user;or select * from current_user; or current_user等价于user
4、查看当前连接的客户端地址 select inet_client_addr
(); or select * from inet_client_addr();
5、查看当前连接的远端端口 select inet_client_port
(); or select * from inet_client_port
();
6、查看连接的服务器地址 selecr inet_server_addr(); or select * from inet_server_addr();
7、查看连接的服务器端口 select inet_server_port(); or select * from inet_server_port();
8、查看当前会话用户名 select session_user;select * from session_user;
9、查看当前版本信息:select version();select * from version();
----------
SELECT relname FROM pg_class WHERE pg_table_is_visible(oid);