sql – Oracle在字符串内部修剪空格

我在我的系统中将电话号码存储为VARCHAR2,以允许用户在他们选择的情况下输入他们电话号码前面的字符.

我的正则表达式完美地允许这一点,但是当在数据库中存储数字时,我想要去除用户可能输入的所有空格.

我的正则表达式允许以下格式

+4470123456789
+447 0123456789
+447 01234 56789
01234567890
01234 567890
01234 567 890

我知道我可以通过不让用户在他们的数字中添加任何空格来解决我的问题,但我从个人经验中知道,由于客户端的一些愚蠢格式化而导致验证错误是多么令人沮丧.我已经尝试在我的INSERT / UPDATE触发器上使用TRIM函数但我已经意识到仅限于前面和尾随空格,我可以使用Oracle中的任何其他函数删除内部空白吗?或者我是否需要编写自己的函数来执行此操作?

任何指针都将非常感激.

解决方法

你想尝试替换(telno,”,”).

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...