POSTGRESQL 相比MYSQL的几个实用函数

前端之家收集整理的这篇文章主要介绍了POSTGRESQL 相比MYSQL的几个实用函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
今天看到PGSQL的函数这一节。 @H_502_1@ POSTGREsql 相比MysqL多了好多实用的函数。@H_502_1@1、正则替换。@H_502_1@t_girl=# create table t_regexp(id serial not null,username char(20) );@H_502_1@NOTICE: CREATE TABLE will create implicit sequence "t_regexp_id_seq" for serial column "t_regexp.id"@H_502_1@TABLE@H_502_1@Time: 6.148 ms@H_502_1@t_girlinsert into t_regexp(usernamevalues ('Shit,shit''i I i I you';@H_502_1@INSERT 0 2@H_502_1@Time: 2.893 ms@H_502_1@t_girlselect * from t_regexp;@H_502_1@id | username @H_502_1@----+----------------------@H_502_1@@H_502_1@1 | Shit502_1@2 | i I i I you @H_502_1@(2 rows)@H_502_1@@H_502_1@Time: 0.296 ms@H_502_1@t_girlupdate t_regexp set username = regexp_replace'[Ss]''a''g'UPDATE 2@H_502_1@Time: 1.139 ms@H_502_1@t_girl| ahit502_1@2 .271 ms@H_502_1@t_girl'a(..)''S\\1P'.090 ms@H_502_1@t_girl| ShiPt502_1@2 .289 ms@H_502_1@t_girl# @H_502_1@可惜MysqL的REPLACE函数只能简单的替换字符串。@H_502_1@以往碰到这种正则替换,先把数据导出到文本,然后再外部用正则替换掉,再导入到数据库中。@H_502_1@2、字符分割。@H_502_1@获取分割指定的字符串部分,这个在MYSQL中也是只能用循环解决。@H_502_1@Time.306 ms@H_502_1@t_girlselect split_part'now,year,month'',';@H_502_1@split_part @H_502_1@------------@H_502_1@@H_502_1@year@H_502_1@(1 row.328 ms@H_502_1@t_girl------------@H_502_1@@H_502_1@month@H_502_1@.253 ms@H_502_1@t_girl# @H_502_1@这个在MysqL中只能通过写一个循环来判断。@H_502_1@至于双方的效率暂时还没有测试。@H_502_1@3、顺序替换字符,这个也是MysqL中没有的。@H_502_1@@H_502_1@t_girlselect translate'mo''ab';@H_502_1@translate @H_502_1@----------------@H_502_1@@H_502_1@nbwabnth@H_502_1@.309 ms@H_502_1@4、截取符合正则的子串。@H_502_1@t_girlSELECT SUBSTRING'XY1234Z''Y*?([0-9]{1,3})';@H_502_1@substring @H_502_1@-----------@H_502_1@@H_502_1@1@H_502_1@.246 ms@H_502_1@t_girl'Y*?([0-9]{2,0);">-----------@H_502_1@@H_502_1@12@H_502_1@(1 row)@H_502_1@5、等待更新。。。

猜你在找的Postgre SQL相关文章