一、逻辑操作符:
常用的逻辑操作符有:AND、OR和NOT。其语义与其它编程语言中的逻辑操作符完全相同。
二、比较操作符:
下面是PostgreSQL中提供的比较操作符列表:
比较操作符可以用于所有可以比较的数据类型。所有比较操作符都是双目操作符,且返回boolean类型。除了比较操作符以外,我们还可以使用BETWEEN语句,如:
a BETWEEN x AND y 等效于 a >= x AND a <= y
a NOT BETWEEN x AND y 等效于 a < x OR a > y
三、 数学函数和操作符:
下面是PostgreSQL中提供的数学操作符列表:
按位操作符只能用于整数类型,而其它的操作符可以用于全部数值数据类型。按位操作符还可以用于位串类型bit和bit varying,
下面是PostgreSQL中提供的数学函数列表,需要说明的是,这些函数中有许多都存在多种形式,区别只是参数类型不同。除非特别指明,任何特定形式的函数都返回和它的参数相同的数据类型。
三角函数列表:
四、字符串函数和操作符:
下面是PostgreSQL中提供的字符串操作符列表:
函数 | 返回类型 | 描述 | 例子 | 结果 |
string || string | text | 字串连接 | \'Post\' || \'greSQL\' | PostgreSQL |
bit_length(string) | int | 字串里二进制位的个数 | bit_length(\'jose\') | 32 |
char_length(string) | int | 字串中的字符个数 | char_length(\'jose\') | 4 |
convert(string using conversion_name) | text | 使用指定的转换名字改变编码。 | convert(\'PostgreSQL\' using iso_8859_1_to_utf8) | \'PostgreSQL\' |
lower(string) | text | 把字串转化为小写 | lower(\'TOM\') | tom |
octet_length(string) | int | 字串中的字节数 | octet_length(\'jose\') | 4 |
overlay(string placing string from int [for int]) | text | 替换子字串 | overlay(\'Txxxxas\' placing \'hom\' from 2 for 4) | Thomas |
position(substring in string) | int | 指定的子字串的位置 | position(\'om\' in \'Thomas\') | 3 |
substring(string [from int] [for int]) | text | 抽取子字串 | substring(\'Thomas\' from 2 for 3) | hom |
substring(string from pattern) | text | 抽取匹配 POSIX 正则表达式的子字串 | substring(\'Thomas\' from \'...$\') | mas |
substring(string from pattern for escape) | text | 抽取匹配SQL正则表达式的子字串 | substring(\'Thomas\' from \'%#\"o_a#\"_\' for \'#\') | oma |
trim([leading | trailing | both] [characters] from string) | text | 从字串string的开头/结尾/两边/ 删除只包含characters(缺省是一个空白)的最长的字串 | trim(both \'x\' from \'xTomxx\') | Tom |
upper(string) | text | 把字串转化为大写。 | upper(\'tom\') | TOM |
ascii(text) | int | 参数第一个字符的ASCII码 | ascii(\'x\') | 120 |
btrim(string text [, characters text]) | text | 从string开头和结尾删除只包含在characters里(缺省是空白)的字符的最长字串 | btrim(\'xyxtrimyyx\',\'xy\') | trim |
chr(int) | text | 给出ASCII码的字符 | chr(65) | A |
convert(string text, [src_encoding name,] dest_encoding name) | text | 把字串转换为dest_encoding | convert( \'text_in_utf8\', \'UTF8\', \'LATIN1\') | 以ISO 8859-1编码表示的text_in_utf8 |
initcap(text) | text | 把每个单词的第一个子母转为大写,其它的保留小写。单词是一系列字母数字组成的字符,用非字母数字分隔。 | initcap(\'hi thomas\') | Hi Thomas |
length(string text) | int | string中字符的数目 | length(\'jose\') | 4 |
lpad(string text, length int [, fill text]) | text | 通过填充字符fill(缺省时为空白),把string填充为长度length。 如果string已经比length长则将其截断(在右边)。 | lpad(\'hi\', 5, \'xy\') | xyxhi |
ltrim(string text [, characters text]) | text | 从字串string的开头删除只包含characters(缺省是一个空白)的最长的字串。 | ltrim(\'zzzytrim\',\'xyz\') | trim |
md5(string text) | text | 计算给出string的MD5散列,以十六进制返回结果。 | md5(\'abc\') | |
repeat(string text, number int) | text | 重复string number次。 | repeat(\'Pg\', 4) | PgPgPgPg |
replace(string text, from text, to text) | text | 把字串string里出现地所有子字串from替换成子字串to。 | replace(\'abcdefabcdef\', \'cd\', \'XX\') | abXXefabXXef |
rpad(string text, length int [, fill text]) | text | 通过填充字符fill(缺省时为空白),把string填充为长度length。如果string已经比length长则将其截断。 | rpad(\'hi\', 5, \'xy\') | hixyx |
rtrim(string text [, character text]) | text | 从字串string的结尾删除只包含character(缺省是个空白)的最长的字 | rtrim(\'trimxxxx\',\'x\') | trim |
split_part(string text, delimiter text, field int) | text | 根据delimiter分隔string返回生成的第field个子字串(1 Base)。 | split_part(\'abc~@~def~@~ghi\', \'~@~\', 2) | def |
strpos(string, substring) | text | 声明的子字串的位置。 | strpos(\'high\',\'ig\') | 2 |
substr(string, from [, count]) | text | 抽取子字串。 | substr(\'alphabet\', 3, 2) | ph |
to_ascii(text [, encoding]) | text | 把text从其它编码转换为ASCII。 | to_ascii(\'Karel\') | Karel |
to_hex(number int/bigint) | text | 把number转换成其对应地十六进制表现形式。 | to_hex(9223372036854775807) | 7fffffffffffffff |
translate(string text, from text, to text) | text | 把在string中包含的任何匹配from中的字符的字符转化为对应的在to中的字符。 | translate(\'12345\', \'14\', \'ax\') | a23x5 |
五、位串函数和操作符:
对于类型bit和bit varying,除了常用的比较操作符之外,还可以使用以下列表中由PostgreSQL提供的位串函数和操作符,其中&、|和#的位串操作数必须等长。在移位的时候,保留原始的位串的的长度。
除了以上列表中提及的操作符之外,位串还可以使用字符串函数:length, bit_length, octet_length, position, substring。此外,我们还可以在整数和bit之间来回转换,如:
该博客中提供的所有信息均源自PostgreSQL官方文档,编写该篇博客的主要目的是便于今后的查阅,特此声明。
本文地址:https://www.stayed.cn/item/11863
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我