POSTGREsql 相比MysqL多了好多实用的函数。
1、正则替换。
t_girl=# create table t_regexp(ID serial not null,username char(20) );
NOTICE: CREATE table will create implicit sequence "t_regexp_ID_seq" for serial column "t_regexp.ID"
table
Time: 6.148 ms
t_girlinsert into t_regexp(usernamevalues ('Shit,shit''i I i I you';
INSERT 0 2
Time: 2.893 ms
t_girlselect * from t_regexp;
ID | username
----+----------------------
1 | Shit| i I i I you
(2 rows)
Time: 0.296 ms
t_girlupdate t_regexp set username = regexp_replace'[Ss]''a''g'UPDATE 2
Time: 1.139 ms
t_girl| ahit.271 ms
t_girl'a(..)''S\1P'.090 ms
t_girl| ShiPt.289 ms
t_girl#
可惜MysqL的REPLACE函数只能简单的替换字符串。
以往碰到这种正则替换,先把数据导出到文本,然后再外部用正则替换掉,再导入到数据库中。
2、字符分割。
获取分割指定的字符串部分,这个在MYSQL中也是只能用循环解决。
Time.306 ms
t_girlselect split_part'Now,year,month'',';
split_part
------------
year
(1 row.328 ms
t_girl------------
month
.253 ms
t_girl#
这个在MysqL中只能通过写一个循环来判断。
至于双方的效率暂时还没有测试。
3、顺序替换字符,这个也是MysqL中没有的。
t_girlselect translate'mo''ab';
translate
----------------
nbwabnth
.309 ms
4、截取符合正则的子串。
t_girlSELECT SUBSTRING'XY1234Z''Y*?([0-9]{1,3})';
substring
-----------
1
.246 ms
t_girl'Y*?([0-9]{2,0);">-----------
12
(1 row)
5、等待更新。。。
总结 以上是内存溢出为你收集整理的POSTGRESQL 相比MYSQL的几个实用函数全部内容,希望文章能够帮你解决POSTGRESQL 相比MYSQL的几个实用函数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)