一、條件判斷函數(shù):
網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)建站專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營(yíng)網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁(yè)面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為成都不銹鋼雕塑等企業(yè)提供專業(yè)服務(wù)。
條件判斷函數(shù)稱為控制流程函數(shù),postgresql中,進(jìn)行條件判斷的函數(shù)為:case。
1、CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2] [ELSE rn] END
該函數(shù)表示,如果expr值等于某個(gè)vn,就返回對(duì)應(yīng)位置THEN后面的結(jié)果,如果與所有值都不相等,就返回ELSE后面的rn。
例子:使用case value when語(yǔ)句執(zhí)行分支操作,如下:
testdb=# select case 2 when 1 then 'one' when 2 then 'two' else 'more' end;
case
------
two
(1 row)
2、CASE WHEN v1 THEN r1 [WHEN v2 THEN r2] ELSE rn END
該函數(shù)表示,某個(gè)vn值為TRUE時(shí),返回對(duì)應(yīng)位置THEN后面的結(jié)果,如果所有值都不為TRUE,就返回ELSE后的rn.
例子:使用case when語(yǔ)句執(zhí)行分支操作,如:
testdb=# select case when 1<0 then 'true' else 'false' end;
case
-------
false
(1 row)
二、系統(tǒng)信息函數(shù):
postgresql中的系統(tǒng)信息有數(shù)據(jù)庫(kù)的版本號(hào)、當(dāng)前用戶名和連接數(shù),系統(tǒng)字符集、最后一個(gè)自動(dòng)生成的ID值等。
1、獲取postgresql的版本號(hào):version()
testdb=# select version();
version
----------------------------------------------------------------------------------------------------------
PostgreSQL 9.6.9 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16), 64-bit
(1 row)
2、獲取用戶名的函數(shù):user和current_user
testdb=# select user,current_user;
current_user | current_user
--------------+--------------
pguser | pguser
(1 row)
三、加密和解密函數(shù)
1、加密函數(shù):MD5(str)
MD5(str)為字符串算出了一個(gè)MD5 128比特檢查和。該值以32為十六進(jìn)制的二進(jìn)制字符串的形式返回,若參數(shù)為null則會(huì)返回null。
例子:使用MD5函數(shù)加密字符串,如:
testdb=# select MD5 ('zhang');
md5
----------------------------------
d0cd2693b3506677e4c55e91d6365bff
(1 row)
2、加密函數(shù):encode(str,pswd_str)
encode(str,pswd_str)使用pswd_str作為加密編碼,加密str。常見(jiàn)的加密編碼包括:base64,hex和escape。
例子:使用encode的加密字符串,如:
testdb=# select encode('secret','hex'),length(encode('secret','hex'));
encode | length
--------------+--------
736563726574 | 12
(1 row)
3、解密函數(shù):decode(crypt_str,pswd_str)
decode(crypt_str,pswd_str)使用pswd_str作為密碼,解密加密字符串crypt_str。crypt_str是由encode()返回的字符串。
例子:使用decode函數(shù)解密被encode加密字符串,如:
testdb=# select decode(encode('secret','hex'),'hex');
decode
----------------
\x736563726574
(1 row)
-------------------------------------------------
改變數(shù)據(jù)類型的函數(shù):
cast(s ,AS type)將一個(gè)類型的值轉(zhuǎn)換為另一個(gè)類型的值。
例子:使用cast函數(shù)進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換,如下:
testdb=# select cast(100 as char(2));
bpchar
--------
10
(1 row)
分享題目:postgresql——條件判斷函數(shù),系統(tǒng)函數(shù)等
文章轉(zhuǎn)載:http://www.rwnh.cn/article32/jisisc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、面包屑導(dǎo)航、關(guān)鍵詞優(yōu)化、移動(dòng)網(wǎng)站建設(shè)、企業(yè)建站、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)