我在我的系统中将电话号码存储为VARCHAR2,以允许用户选择在电话号码前输入“ +”字符。
我的regexp完美地做到了这一点,但是当将数字存储在数据库中时,我想去除用户可能输入的所有空格。
我的正则表达式允许以下格式
+4470123456789 +447 0123456789 +447 01234 56789 01234567890 01234 567890 01234 567 890
我知道我可以通过不让用户在数字中添加空格来解决问题,但是我个人经验表明,由于客户端的某些愚蠢格式而导致验证错误令人沮丧。我曾尝试在INSERT / UPDATE触发器上使用TRIM函数,但我意识到仅限于前后空格,Oracle中是否可以使用其他任何函数来删除内部空格?还是我需要编写自己的函数来执行此操作?
任何指针将不胜感激。
你想试试replace (telno, ' ', '')。
replace (telno, ' ', '')