Sql 使用LTRIM的基于Oracle函数的索引?

Sql 使用LTRIM的基于Oracle函数的索引?,sql,oracle,Sql,Oracle,任何人都可以使用LTRIM在oracle中创建基于函数的索引。只能将其与LTRIM函数名一起使用,而不使用position参数。我可以像下面那样创建它,但不能使用位置参数 CREATE INDEX GIS1.IX_GIS_DOCVERSION_FUNCTION_02 ON GIS1.DOCVERSION(LTRIM("UBAB8_ORDERNUMBER") ) TABLESPACE TS_GIS1 LOGGING PCTFREE 10 INITRANS 2 MAXTRANS 255 ST

任何人都可以使用LTRIM在oracle中创建基于函数的索引。只能将其与LTRIM函数名一起使用,而不使用position参数。我可以像下面那样创建它,但不能使用位置参数

CREATE INDEX GIS1.IX_GIS_DOCVERSION_FUNCTION_02
    ON GIS1.DOCVERSION(LTRIM("UBAB8_ORDERNUMBER")
)
TABLESPACE TS_GIS1
LOGGING
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE(INITIAL 64K
        BUFFER_POOL DEFAULT)
NOPARALLEL
NOCOMPRESS
/

我发现你可以添加如下职位

CREATE INDEX GIS1.IX_GIS_DOCVERSION_FUNCTION_02
    ON GIS1.DOCVERSION(LTRIM("UBAB8_ORDERNUMBER",'0')
)
TABLESPACE TS_GIS1
LOGGING
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE(INITIAL 64K
        BUFFER_POOL DEFAULT)
NOPARALLEL
NOCOMPRESS
/

它不是一个位置,而是从输入字符串左侧修剪的字符列表-在您的情况下,所有前导零都将被删除。Oracle
LTRIM
函数不采用“位置”参数。第二个参数是要从第一个参数开头删除的字符列表。如果省略第二个参数,则默认值为空格字符。