postgresql基础系统函数操作

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);
 

猜你喜欢

转载自blog.csdn.net/qq_24726509/article/details/81676061