我有一个字符串IN-123456
;现在我需要修剪该字符串中的IN-
。我在Oracle中尝试过
select trim('IN-' from 'IN-123456) from dual;
但是我收到了错误
ORA-30001: trim set should have only one character
30001. 00000 - "trim set should have only one character"
*Cause: Trim set contains more or less than 1 character. This is not
allowed in TRIM function.
我该如何解决这个问题?
答案 0 :(得分:2)
简单的替换不会起作用吗?
select replace('IN-123456', 'IN-', '') from dual;
答案 1 :(得分:1)
感谢结果......
可以使用LTRIM()函数
来解决答案 2 :(得分:0)
显然,TRIM不是这项工作的正确功能。您需要REPLACE(子)字符串IN-
,不需要任何内容:
SELECT REPLACE('IN-123456', 'IN-') FROM dual;
请注意,这将替换字符串中任何位置的所有IN-
。如果这不合适,但IN-
始终位于字符串的开头,那么您可以使用SUBSTR代替:
SELECT SUBSTR('IN-123456', 4) FROM dual;
答案 3 :(得分:0)
你忘记完成单引号
select trim('IN-' from 'IN-123456') from dual;
现在试试这个