删除sql plus中字符串的第一个字符

删除sql plus中字符串的第一个字符,sql,oracle,Sql,Oracle,我是Oracle新手,不知道如何删除字符串中的第一个字符 例如,此值 ,1,2,3,4,5,6,7 在这里,我循环它并在每个值后面附加逗号。但不幸的是,它第一次添加了逗号。不确定如何删除它。您可以使用SUBSTR功能 select substr(',1,2,3,4,5', 2) from dual 一种方法是使用ltrim(): 选择ltrim(,',')) 每当我在一个字符串中看到这样的数字时,我就会产生怀疑。这不是表示数字列表的好方法。Ltrim(,“charecter”) Ltr

我是Oracle新手,不知道如何删除字符串中的第一个字符

例如,此值

,1,2,3,4,5,6,7

在这里,我循环它并在每个值后面附加逗号。但不幸的是,它第一次添加了逗号。不确定如何删除它。

您可以使用
SUBSTR
功能

select substr(',1,2,3,4,5', 2) from dual

一种方法是使用
ltrim()

选择ltrim(,','))
每当我在一个字符串中看到这样的数字时,我就会产生怀疑。这不是表示数字列表的好方法。

Ltrim(,“charecter”)
  Ltrim(<string>,'charecter')  
   ----to left trim charecters (left side of the string)
  ,Rtrim(<string>,'charecter')
       ---to right trim charecters (right side of the string)
----至左侧修剪字符(字符串左侧) ,Rtrim(,'charecter') ---至右侧修剪切割器(管柱右侧)
对于您的查询,您需要

       select Ltrim(<string>,',') from table
从表中选择Ltrim(,',')

使用regexp可以更具体一点,该regexp仅在第一个字符是逗号时删除第一个字符

在oracle中:

SELECT REGEXP_REPLACE( 
    ',1,2,3,4,5',
    '^,',
    ''
) FROM DUAL;

Regexp解释:^表示字符串的开头,后跟逗号。如果字符串匹配,则匹配的部分将替换为空字符串。

这几乎肯定是个坏问题。您应该更改规范化的方式,而不必解析列中的数字列表
SELECT REGEXP_REPLACE( 
    ',1,2,3,4,5',
    '^,',
    ''
) FROM DUAL;