使用sql保留列中的特定字符

时间:2013-12-22 04:12:09

标签: sql postgresql

我使用SQL创建了下表:

   create table TableName(col1 string1(character varying(5000), col2 int);

现在我想保留string1中的所有字符,如:“,',a-z,A-Z,数字,/。我想删除string1中的其余字符。我正在研究postgressql 9.1。

我有什么方法可以实现这个目标吗?

Sample Data:  "http://stackoverflow.com/posts/20726193/edit\0 ~@#$$%%^ abc def"
Result: "http://stackoverflow.com/posts/20726193/edit abc def"

1 个答案:

答案 0 :(得分:2)

在这样的情况下,

regexp_replace可能是你最好的选择,例如:

regexp_replace(col1, E'[^a-z0-9:/\\s]', 'gi')

演示:http://sqlfiddle.com/#!15/031c1/3

调整角色等级以满足您的确切需求。