Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何从列中删除特殊字符_Sql_Postgresql_Function_Alphanumeric - Fatal编程技术网

Sql 如何从列中删除特殊字符

Sql 如何从列中删除特殊字符,sql,postgresql,function,alphanumeric,Sql,Postgresql,Function,Alphanumeric,有一个包含两列的表。列a具有非alpha的记录,例如 aaa) aab( aac# 123! b列为空 需要一个PostgreSQL函数,该函数可以去除所有非alpha字符,并将更改后的值插入b列 所以最终的结果是 圆柱 aaa) aab( aac# 123! 专栏B aaa aab aac 123 希望能够使用表名调用函数。感谢所有帮助您可以使用REGEXP\u REPLACE(): 这将使用columnA的内容更新您的表columnB,不包含特殊字符谢谢。但是当我尝试这个的时候,我得到

有一个包含两列的表。列a具有非alpha的记录,例如

aaa)
aab(
aac#
123!
b列为空

需要一个PostgreSQL函数,该函数可以去除所有非alpha字符,并将更改后的值插入b列

所以最终的结果是

圆柱

aaa)
aab(
aac#
123!
专栏B

aaa
aab
aac
123

希望能够使用表名调用函数。感谢所有帮助您可以使用
REGEXP\u REPLACE()


这将使用
columnA
的内容更新您的表
columnB
,不包含特殊字符

谢谢。但是当我尝试这个的时候,我得到了一个错误。错误:关系“test_clean”的“t”列不存在请发布您所做的查询,我认为您的别名写得不好@JayParker此查询应该有效。UPDATE public.test_clean t set t.new_param=regexp_replace(t.old_param,“[^a-zA-Z0-9]”和“g”);错误:关系“test_clean”的列“t”不存在第2行:set t.new_param=regexp_replace(t.old_param,[^a-zA-Z0-9]”…^******************错误***************错误:关系“test_clean”的列“t”不存在SQL状态:42703个字符:34使其正常工作。谢谢,但我需要在可以传递tbl的函数中使用它
UPDATE YourTable t
set t.columnB = regexp_replace(t.columnA, '[^a-zA-Z0-9]', '', 'g')