函数

返回值类型

描述

示例

结果

string||string

text

字符串连接

select 'Post'||'gresql'||' good!';

Postgresql good!

string||non-string或non-string||string

text

非字符串与字符串连接

select 1||' one';

1 one

bit_length(string)

int

字符串的位数,注意一个汉字是3个字节

select bit_length('one');

24

char_length(string)

int

字符串中字符的个数

select char_length('中国');

2

length(string)

int

字符串中字符个数,同char_length(string)

select length('中国');

2

length(string,encoding name)

int

以name的编码格式字符串的字符个数

select length('中国','GBK');

3

octet_length(string)

int

字符串的字节数

select octet_length('中国');

6

lower(string)

text

将字符串转换成小写

select lower('HeLLO');

hello

upper(string)

text

将字符串转换成大写

select lower('HellO');

HELLO

initcap(string)

text

将字符串中每个单词的首字母大写

select initcap('hello world !');

Hello World !

overlay(string placing string from int [for int])

text

替换字符串,其中第一个int是开始位置,第二个int是长度,如果没有第二个int则长度默认为第二个字符串的长度

select overlay('Txxxxas' placing 'hom' from 2 for 4);

Thomas

replace(string,string,string)

text

替换字符串,将第一个字符串中的第二个字符串替换成第三个字符串

select replace('Txxxxas','xxxx','hom');

Thomas

translate(string text, fromtext, to text)

text

把string中from字符替换成对应to中的字符,如('text','tx','nd')中t->n,x->d,替换后结果为nedn;如果from比to长,则删除from多出的字符,如('Txxxxas','Txas','hom')结果为hooom;如果from中有重复字符,对应顺序也是一一对应的,但是重复字符以第一个为准,如('txxxa','xxx','abcd'),结果为taaad

select translate('Txxxxas','xxxxa','hom');

select translate('Txxxxas','Txas','hom');

select translate('txxxa','xxxa','abcd');

Thhhhs

hoooom

taaad

position(substring in string)

int

给定子字符串在字符串的位置

select position('lo' in 'hello');

4

strpos(string, substring)

int

功能同上,只是入参顺序相反

select strpos('hello','lo');

4

substring(string from int [for int])

text

截取字符串,从from位置截取长度for,如果for省略,则是从from至结尾

select substring('hello world' from 2 for 3);

select substring('hello world' from 2);

ell

ell world

substring(string,from int[, for int])

text

同上

select substring('hello world',2,3);

ell

substring(string from pattern)

text

截取匹配posix正则表达式的字符串

select substring('hello world' from '...$');

rld

substring(string from pattern for escape)

text

截取匹配posix正则表达式的字符串,for为转移字符

select substring('Thomas' from '%#"o_a#"_' for '#');

oma

trim([leading | trailing | both]

[characters] from string)

text

删除字符串头部(leading),尾部(trailing)或两边的空白活[characters]字符

select trim(both 'x' from 'xxjdhdxxxx');

jdhd

trim([leading | trailing | both]

[from] string[, characters] )

text

同上

select trim(both from '  jdhd   ',' ');

jdhd

btrim(string text [, characterstext])

text

删除字符串两边指定的字符

select btrim('xxhhhxxx','x');

hhh

rtrim(string text [, characterstext])

text

删除字符串尾部指定的字符

select rtrim('xxhhhxxx','x');

xxhhh

ltrim(string text [, characterstext])

text

删除字符串开头指定的字符

select ltrim('xxhhhxxx','x');

hhhxxx

ascii(string)

int

字符串第一个字符的ASCII值

select ascii('xa');

select ascii('x');

120

120

chr(int)

text

将数字转换成字符

select chr(65);

A

concat(str "any" [, str "any" [, ...] ])

text

连接所有参数,个数不限,类型不限

select concat('x','man',3);

xman3

concat_ws(sep text, str "any" [,str "any" [, ...] ])

text

功能同上,只是第一个参数是连接分隔符

select concat_ws(',','x','man',3);

x,man,3

convert(string bytea,src_encoding name, dest_encodingname)

text

将字符串从指定编码转换至目的编码格式

select convert('Hello','UTF8','GBK');

\x48656c6c6f

format(formatstr text [,formatarg "any" [, ...] ])

text

格式化字符串,类似C语言的sprintf,其中n$表示第n个参数

select format('Hello %s, %1$s', 'World');

Hello World, World

left(str text, n int)

text

返回字符串前n个字符,n为负数时返回除最后|n|个字符以外的所有字符

select left('hello',-2);

hel

right(str text, n int)

text

返回字符串后n个字符,n为负数时返回除最前|n|个字符意外的所有字符

select right('hello',2);

he

lpad(string text, length int [,fill text])

text

在字符串开头填充text至长度为length,缺省为空白,如果string的长度已经大于length,则会截断后面多余length的字符

select lpad('123',5,'0');

00123

rpad(string text, length int [,fill text])

text

在字符串尾部填充text至长度为length,缺省为空白,如果string的长度已经大于length,则会截断后面多余length的字符

select rpad('he',1,'o');

h

md5(string)

text

计算string的md5散列值,并以十六进制返回

select md5('hello');

5d41402abc4b2a76b9719d911017c592

parse_ident(qualified_identifiertext [,

strictmode booleanDEFAULT true ] )

text[]

将qualified_identifier拆分解析到一个数组中,以句点为分隔符。

select parse_ident('SomeSchema.someTable');

{someschema,sometable}

pg_client_encoding()

name

获取当前客户端编码

select pg_client_encoding();

UTF8

quote_ident(string text)

text

返回适合SQL语句标志符且使用适当引号的字符串,在字符串两端加双引号,如果字符串中出现双引号,返回结果中将变成两个,如果有2个连续的单引号,返回时只有1个

select quote_ident('Foo"''"bar');

"Foo""'""bar"

quote_literal(string text)

text

功能同上,只是内嵌的单引号和双引号被原样保留

select quote_literal('Foo"''bar');

'Foo"''bar'

quote_literal(value anyelement)

text

将给定值转成text

select quote_literal(45);

'45'

quote_nullable(string text)

text

功能同quote_literal(string text),只是参数是NULL时返回NULL

quote_nullable(value anyelement)

text

功能同quote_literal(value anyelement),只是参数为NULL时返回NULL

repeat(string text, number int)

text

将string重复number次

select repeat('Hi',2);

HiHi

split_part(string text,delimiter text, field int)

text

将字符串string以delimiter进行分割,并返回第field个子串

select split_part('1#2#3','#',2);

2

to_hex(number int or bigint)

text

将数值转换成十六进制

select to_hex(155);

9b

reverse(str)

text

将字符串逆序输出

select reverse('hello');

olleh

regexp_split_to_array(stringtext, pattern text [, flags text])

text[]

将字符串匹配posix正则表达式分割为字符串数组

select regexp_split_to_array('hello world', E'\\s+');

{hello,world}

regexp_split_to_table(stringtext, pattern text [, flagstext])

setof

text

功能同上,只是以单列形式返回

select regexp_split_to_table('hello world', E'\\s+');

hello

world

regexp_matches(string text,pattern text [, flags text])

setof text[]

返回string中第一个匹配posix正则表达式的子串,如果flag=g,则返回所有

select regexp_matches('foobarbequebaz', '(b..)','g');

{bar}

{beq}

{baz}

regexp_replace(string text,pattern text,

replacement text[, flags text])

text

将匹配posix正则表达式的第一个子串替换成指定字符串,如果flag=g,则替换所有

select regexp_replace('Thomas', '.[mN]a.', 'M');

ThM

pgsql截取字符串函数_postgresql----字符串函数与操作符相关推荐

  1. java 调用postgresql 函数_PostgreSQL调用函数

    PostgreSQL允许函数有命名参数,可以被位置 或名称表示法调用.名称表示法对有大量参数的函数特别有用,因为它更加明确和可靠的标记了形参和实参之间的联系.在位置表示法里,一个函数调用的参数值要用与 ...

  2. 写一个函数,2 个参数,1 个字符串,1 个字节数,返回截取的字符串,要求字符串中的中文不能出现乱码

    题目要求: 写一个函数,2 个参数,1 个字符串,1 个字节数,返回截取的字符串,要求字符串中的中文不能出现乱码. 如("我ABC",4)应该截为"我AB", ...

  3. mysql 字符串 截取字母_MySQL字符串函数:字符串截取

    MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...

  4. c语言提取字符串里面的数字,一个截取字符串中数字的函数

    一个截取字符串中数字的函数 我编写了一个代码,是截取字符串中数字的函数,如输入字符串:ah123hs453sh3k后,应将字符串中的字符"123"变为整数123,"453 ...

  5. lua mysql 字符串截取_lua string 下的函数

    lua的字符串操作 lua的字符串绝大部分的操作 都可以用 string 库函数接口操作,只是因为lua的特性,在匹配操作上会有些不一样,这个文末会说一点. 另外 lua 的字符串是 从 下标 1 开 ...

  6. ySQL字符串函数:字符串截取

    justdo2008 { "@context": "https://zhanzhang.baidu.com/contexts/cambrian.jsonld", ...

  7. sqlserver数据库,使用substring函数截取不固定位置字符串。

    sqlserver数据库,使用substring函数截取不固定位置字符串. 当我们在向页面写入数据库查询出来的数据的时候,有一些不必要的字符串,相信大家肯定会在后台的java代码中进行处理再返回到页面 ...

  8. 字符串的编码与构造、字符串格式化、字符串的截取、字符串常用函数、正则表达式

    文章目录 了解ASCII码 UTF-8编码 字符串构造 单引号或双引号构造字符串 单双引号构造字符串的特殊用法 字符串中引号的转义 转义字符 原始字符串 三重引号字符 字符串格式化 %符号格式化字符串 ...

  9. mysql截取字符串的6个函数

    1.LEFT(str,len) 从左边开始截取,str:被截取字符串:len:截取长度 示例:  2.RIGHT(str,len) 从右边开始截取,str:被截取字符串:len:截取长度 示例: 3. ...

最新文章

  1. C语言练习题100道
  2. 对于二叉树三种非递归遍历方式的理解
  3. 【转】awk 里的substr函数用法举例
  4. 泛海精灵 Beta计划 (草案)
  5. 使用log4net记录日志到MySQL中 (转)
  6. beam search算法
  7. 俺是如何在3个月内写出博士论文的?
  8. lr接口压测_LoadRunner+Java接口性能测试
  9. 根据接口文档中的入参,生成自动化测试用例中的异常测试用例,包含用例描述,用例数据
  10. python有趣小程序-python好玩的小程序
  11. LeetCode刷题——345. 反转字符串中的元音字母
  12. 华为手机字体改简体_华为手机字体怎么更换简体
  13. C盘扩容_解决过程记录
  14. 写论文的公式怎么写最便捷?
  15. XSS绕过,XSS过滤速查,XSS绕过姿势
  16. 做事先做人 做人先立德
  17. 太原理工大于丹计算机,太原理工大学硕士生将参加中国第30次南极考察
  18. Windos环境下kafka配置启动Zookeeper时,报错:Invalid config, exiting abnormally.
  19. ShortCut Key——Google
  20. java压缩和解压tar包,tar包、压缩与解压缩

热门文章

  1. 加密货币只是人为创造的稀缺性,其本身并没有价值?
  2. 怎样将pdf转化成jpg?pdf转高清图片的方法
  3. python全栈是什么_Python全栈数据工程师养成攻略 PDF 下载
  4. 访问不同服务器文件共享,windows共享不同用户访问不同文件夹不同权限
  5. 小程序之wxcharts(图表)
  6. rx2700_AMD二代锐龙Ryzen7 2700X内置核显吗 R7-2700/2700X要搭配显卡吗?
  7. python列表格式化输出_python中请问怎么格式化输出列表
  8. 小米9pro textView不设置颜色不显示_小米万象息屏2.0内测开启,新增小组件功能和新息屏...
  9. 绝对干货!Python 从业十年的程序员,写的万字经验分享
  10. java打印出所有的水仙花数_Java打印出所有的水仙花数的实现代码