一尘不染

Oracle在字符串内部修剪空格

sql

我在我的系统中将电话号码存储为VARCHAR2,以允许用户选择在电话号码前输入“ +”字符。

我的regexp完美地做到了这一点,但是当将数字存储在数据库中时,我想去除用户可能输入的所有空格。

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

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

我知道我可以通过不让用户在数字中添加空格来解决问题,但是我个人经验表明,由于客户端的某些愚蠢格式而导致验证错误令人沮丧。我曾尝试在INSERT /
UPDATE触发器上使用TRIM函数,但我意识到仅限于前后空格,Oracle中是否可以使用其他任何函数来删除内部空格?还是我需要编写自己的函数来执行此操作?

任何指针将不胜感激。


阅读 116

收藏
2021-05-05

共1个答案

一尘不染

你想试试replace (telno, ' ', '')

2021-05-05