一、条件判断函数:
成都创新互联专注于望花企业网站建设,成都响应式网站建设公司,电子商务商城网站建设。望花网站建设公司,为望花等地区提供建站服务。全流程按需制作网站,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务条件判断函数称为控制流程函数,postgresql中,进行条件判断的函数为:case。
1、CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2] [ELSE rn] END
该函数表示,如果expr值等于某个vn,就返回对应位置THEN后面的结果,如果与所有值都不相等,就返回ELSE后面的rn。
例子:使用case value when语句执行分支操作,如下:
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
该函数表示,某个vn值为TRUE时,返回对应位置THEN后面的结果,如果所有值都不为TRUE,就返回ELSE后的rn.
例子:使用case when语句执行分支操作,如:
testdb=# select case when 1<0 then 'true' else 'false' end;
case
-------
false
(1 row)
二、系统信息函数:
postgresql中的系统信息有数据库的版本号、当前用户名和连接数,系统字符集、最后一个自动生成的ID值等。
1、获取postgresql的版本号: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、获取用户名的函数:user和current_user
testdb=# select user,current_user;
current_user | current_user
--------------+--------------
pguser | pguser
(1 row)
三、加密和解密函数
1、加密函数:MD5(str)
MD5(str)为字符串算出了一个MD5 128比特检查和。该值以32为十六进制的二进制字符串的形式返回,若参数为null则会返回null。
例子:使用MD5函数加密字符串,如:
testdb=# select MD5 ('zhang');
md5
----------------------------------
d0cd2693b3506677e4c55e91d6365bff
(1 row)
2、加密函数:encode(str,pswd_str)
encode(str,pswd_str)使用pswd_str作为加密编码,加密str。常见的加密编码包括:base64,hex和escape。
例子:使用encode的加密字符串,如:
testdb=# select encode('secret','hex'),length(encode('secret','hex'));
encode | length
--------------+--------
736563726574 | 12
(1 row)
3、解密函数:decode(crypt_str,pswd_str)
decode(crypt_str,pswd_str)使用pswd_str作为密码,解密加密字符串crypt_str。crypt_str是由encode()返回的字符串。
例子:使用decode函数解密被encode加密字符串,如:
testdb=# select decode(encode('secret','hex'),'hex');
decode
----------------
\x736563726574
(1 row)
-------------------------------------------------
改变数据类型的函数:
cast(s ,AS type)将一个类型的值转换为另一个类型的值。
例子:使用cast函数进行数据类型的转换,如下:
testdb=# select cast(100 as char(2));
bpchar
--------
10
(1 row)
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。