一、逻辑操作符:
常用的逻辑操作符有: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之间来回转换,如:
复制代码 代码如下:
MyTest=# SELECT 44::bit(10);
bit
------------
0000101100
(1 row)
MyTest=# SELECT 44::bit(3);
bit
-----
100
(1 row)
MyTest=# SELECT cast(-44 as bit(12));
bit
--------------
111111010100
(1 row)
MyTest=# SELECT '1110'::bit(4)::integer;
int4
------
14
(1 row)
注意:如果只是转换为"bit",意思是转换成bit(1),因此只会转换成整数的最低位。
该博客中提供的所有信息均源自PostgreSQL官方文档,编写该篇博客的主要目的是便于今后的查阅,特此声明。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]