postgresql的內(nèi)部運(yùn)算符很豐富,主要有四大類,分別是:算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、位操作運(yùn)算符。如下:
為玉龍等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及玉龍網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、玉龍網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
①:算術(shù)運(yùn)算符:
用于各類數(shù)值運(yùn)算,包括加(+)減(-) 乘(*)除(/)求余(%)
例子:
testdb=# create table emp (num int);
testdb=# insert into emp values (60);
testdb=# select num,num+10,num-10,num+10-5,num+10.5 from emp; ---對(duì)字段進(jìn)行:加 減 運(yùn)算
num | ?column? | ?column? | ?column? | ?column?
-----+----------+----------+----------+----------
60 | 70 | 50 | 65 | 70.5
(1 row)
testdb=# select num,num*2,num/3,num%2 from emp; ---對(duì)字段進(jìn)行:乘 除運(yùn)算
num | ?column? | ?column? | ?column?
-----+----------+----------+----------
60 | 120 | 20 | 0
(1 row)
②:比較運(yùn)算符
用于比較運(yùn)算,包括大于(>)小于(<)等于(=)大于等于(>=)小于等于(<=)不等于(!=),以及in、between and、greatest、least、like等。
例子:
testdb=# select 1=0,2=2,(1+4)=(2+3);
?column? | ?column? | ?column?
----------+----------+----------
f | t | t
(1 row)
testdb=# select 'good'<>'god',1<>2,5.5!=5,(1+1)!=2;
?column? | ?column? | ?column? | ?column?
----------+----------+----------+----------
t | t | t | f
(1 row)
--least運(yùn)算符:判斷最小值
least運(yùn)算符的語(yǔ)法格式為:least(值1,值2,,,值n),其中,值n表示參數(shù)列表中有n個(gè)值。在有兩個(gè)或多個(gè)參數(shù)的情況下,返回最小值。任意一個(gè)值為null,在比較重忽略不計(jì)。
例子:使用least運(yùn)算符進(jìn)行大小判斷
testdb=# select least(2,0),least(1.5,5,3),least('a','g','b'),least(10,null); ---從下面的結(jié)果可以看出,返回的都是最小的值?。。?/p>
least | least | least | least
-------+-------+-------+-------
0 | 1.5 | a | 10
(1 row)
--greatest(value1,value2,,,,)
語(yǔ)法格式:greatest(值1,值2,,,,)其中,n表示參數(shù)列表中有n個(gè)值。當(dāng)有兩個(gè)或多個(gè)參數(shù)時(shí),返回值為最大值。任意一個(gè)自變量為null,在比較中忽略不計(jì)。
例子:使用greatest運(yùn)算符進(jìn)行大小判斷,
testdb=# select greatest(2,0),greatest(1.5,5,3),greatest('a','g','b'),greatest(10,null); ---從下面的結(jié)果可以看出,返回的都是最大值!??!
greatest | greatest | greatest | greatest
----------+----------+----------+----------
2 | 5 | g | 10
(1 row)
③:邏輯運(yùn)算符
邏輯運(yùn)算符的求值所得結(jié)果均為t(true)、f(false),這類運(yùn)算符有邏輯非(not)邏輯與(and)邏輯或(or)
④:位操作運(yùn)算符
參與運(yùn)算的操作數(shù)按二進(jìn)制位進(jìn)行運(yùn)算,包括位與(&),位或(|)位非(~)左移(<<)右移(>>)
注意:
運(yùn)算的優(yōu)先級(jí)決定了不同的運(yùn)算符在表達(dá)式中計(jì)算得先后順序。最低:=,:= 最高! 一般情況下級(jí)別高的運(yùn)算符先進(jìn)行計(jì)算,如果級(jí)別相同,postgresql就按表達(dá)式的順序從左到右依次計(jì)算。