【问题标题】:How can I get odd numbered characters in a string using SQL如何使用 SQL 获取字符串中的奇数字符
【发布时间】:2012-04-30 03:58:22
【问题描述】:

我正在处理一些加密数据,我需要从字符串中获取奇数字符并填充到列中:

abcedfgh

acdg

真的可以在 SQL 中实现吗?我尝试用谷歌搜索,但找不到任何搜索结果。

【问题讨论】:

  • 奇数字符是什么意思?可以举个例子吗?
  • 您的意思是字符串中的每个其他字符,即 index = 1, 3, 5, ... ?
  • 是的,我需要所有具有 1,3,5 个索引的字符...
  • 为什么投反对票?这是一个非常有效的问题。

标签: sql oracle substring


【解决方案1】:
SELECT REPLACE(DATA,',','') MYDATA
FROM(
      SELECT WM_CONCAT(DATA) AS  DATA
      FROM (
            SELECT SUBSTR('abcedfgh',LEVEL,1) DATA,ROWNUM RN
            FROM DUAL 
            CONNECT BY LEVEL <=LENGTH('abcedfgh')

           )
      WHERE MOD(RN,2) =1
    )

【讨论】:

    【解决方案2】:
    SELECT REGEXP_REPLACE(mycolumn, '(.).', '\1')
    FROM   mytable
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-20
      • 1970-01-01
      • 2021-12-09
      • 2012-05-13
      • 1970-01-01
      • 2014-05-25
      • 2010-10-21
      相关资源
      最近更新 更多