删除Oracle SQL Developer中字段中的标点符号



我在Oracle SQL开发人员表中有一个字段,我需要删除特定字段中的所有标点符号。表名为"标点测试"我尝试的函数不起作用,我得到了@InputString的错误这是我尝试过的功能:任何想法和建议都会有所帮助,谢谢

CREATE FUNCTION dbo.fn_RemovePunctuation
(
@InputString VARCHAR(500)
)
RETURNS VARCHAR(500)
AS
BEGIN
SELECT
@InputString = REPLACE(@InputString, P.Symbol, '')
FROM 
Punctuationtest P
RETURN @InputString
END
GO

Oracle SQL Developer"是一个工具,用于建立与数据库的连接并执行操作。是哪个数据库?通常是Oracle. 但是,话又说回来,你发布的代码肯定不是Oracle -因此你得到了错误(至少,我认为是这样)。

如果您的数据库确实是Oracle,那么您可以尝试使用这样的正则表达式(参见第6行):

SQL> with test (col) as
2    (select 'abc,!23' from dual union all
3     select '?xyz,.'  from dual
4    )
5  select col,
6         regexp_replace(col, '[[:punct:]]') result
7  from test;
COL     RESULT
------- ----------------------------
abc,!23 abc23
?xyz,.  xyz
SQL>

或者,当您想要更新表时,您可以

update your_table set 
that_column = regexp_replace(that_column, '[[:punct:]]');

最新更新