当前位置: 首页 > 面试题库 >

Oracle用一个空格更新一列中的多个空格

孔和畅
2023-03-14
问题内容

我正在尝试使用普通的sql语句而不是pl sql将可能有一个或多个空格的列更新为一个空格

我可以通过更新表集column_name =’‘来做到这一点,其中column_name就像’%%’一样。但是,该列中可能有一些数据,例如abc
def。我不想打扰该数据的模式,这意味着仅当该列填充空白并且不触摸具有任何数据的列时才这样做。


问题答案:

我建议使用正则表达式来执行此操作,既可以进行替换也可以进行匹配:

UPDATE mytable
   SET mycolumn = REGEXP_REPLACE(mycolumn, '\s{2,}', ' ')
 WHERE REGEXP_LIKE(mycolumn, '\s{2,}')

这将用单个空格替换两个或多个连续的空格字符(空格,制表符等)。如果只想替换空格而不是制表符,回车符或换行符,请使用以下命令:

UPDATE mytable
   SET mycolumn = REGEXP_REPLACE(mycolumn, ' {2,}', ' ')
 WHERE REGEXP_LIKE(mycolumn, ' {2,}')

使用{2,}它的原因是为了避免不必要地替换空格。



 类似资料:
  • 问题内容: 我正在尝试用一个空格替换多个空格。使用时,我会收到关于它已过时的错误消息。 是否有相同的替代品。我需要用单个空格替换多个空格和多个空格。 问题答案: 使用和代替使用: 从正则表达式基本语法参考]: \ d,\ w和\ s 速记字符类,用于匹配数字,单词字符(字母,数字和下划线)和空格(空格,制表符和换行符)。可以在字符类的内部和外部使用。

  • 本文向大家介绍java Split 实现去除一个空格和多个空格,包括了java Split 实现去除一个空格和多个空格的使用技巧和注意事项,需要的朋友参考一下 用Split函数可以去除输入一个字符串中的空格,并且一般都是将它存储在一个字符串数组之中 例如: 输出结果是: 0 1 2 3 4 3 可是会出现这种情况,如果我输入的是0 1 2 3 4,在2和3之间有3个的空格,那还会有用吗? 结果输出

  • 问题内容: 我的字符串带有多余的空格,每当有多个空格时,我希望它只有一个。 任何人?我尝试搜索Google,但没有任何帮助。 谢谢 问题答案: 像这样:

  • 问题内容: 我试图获取许多列中的第一个非空值。我知道我可以使用每列的子查询来完成此操作。以性能的名义(在这种情况下确实很重要),我想一次完成。 以以下示例数据为例: 我的梦想查询将在每个数据列中找到第一个非null值,并按排序。 例如,选择第一三列的神奇骨料时,排序由所述下降。 或升序排序时: 有人知道解决方案吗? 问题答案: 可以与一起使用。是必需的,因为SQL Server首先对null进行排

  • 所有非字母数字字符 所有换行符 空白的所有多个实例 只有一个空格 对于那些在家里玩的人(以下方法确实管用) 我的想法是,正则表达式可能足够强大,可以在一个语句中实现这一点。我认为id需要的组件是 -删除非字母数字字符 -匹配任何空格集合 -匹配所有新行 -全局、多行、不区分大小写 然而,我似乎无法以正确的方式来设置正则表达式(以下操作不起作用) 输入 所需输出

  • 我正在寻找一个整洁的正则表达式解决方案来代替 所有非字母数字字符 所有换行 空白空间的所有多个实例 只有一个空格 对于那些在家里玩的人(以下确实有效) 我的想法是正则表达式可能足够强大,可以在一个语句中实现这一点。我认为我需要的组件是 -删除非字母数字字符 但是,我似乎无法以正确的方式设置正则表达式的样式(以下内容不起作用) 输入 期望输出