Oracle 检查结尾处的varchar2 cointains CHR(10)

Oracle 检查结尾处的varchar2 cointains CHR(10),oracle,plsql,Oracle,Plsql,我需要一个CSV,有很多行。我需要检查每一行的末尾是否有CHR(10)。 我试过: 但是不起作用! 有什么想法吗? 谢谢一个选项是使用REGEXP\u INSTR专门检查最后一个字符: IF (REGEXP_INSTR(line, CHR(10) || '$') > 0) THEN DBMS_OUTPUT.PUT_LINE('THERE IS!'); END IF; 一个选项是使用REGEXP\u INSTR专门检查最后一个字符: IF (REGEXP_INSTR(line, C

我需要一个CSV,有很多行。我需要检查每一行的末尾是否有CHR(10)。 我试过:

但是不起作用! 有什么想法吗?
谢谢

一个选项是使用
REGEXP\u INSTR
专门检查最后一个字符:

IF (REGEXP_INSTR(line, CHR(10) || '$') > 0) THEN
    DBMS_OUTPUT.PUT_LINE('THERE IS!');
END IF;

一个选项是使用
REGEXP\u INSTR
专门检查最后一个字符:

IF (REGEXP_INSTR(line, CHR(10) || '$') > 0) THEN
    DBMS_OUTPUT.PUT_LINE('THERE IS!');
END IF;

必须使用-1而不是-2作为substr的第二个参数: 这个例子非常有效

而且。。。相等比较是“=”而不是“=”


必须使用-1而不是-2作为substr的第二个参数: 这个例子非常有效

而且。。。相等比较是“=”而不是“=”


你好。substr-2提供两个字符,如果只需要最后一个字符,请使用-1。参见
从dual中选择substr('Text',-2)=>
xt
hi。substr-2提供两个字符,如果只需要最后一个字符,请使用-1。参见
从dual中选择substr('Text',-2)=>
xt
declare
    test_string varchar2(100) := 'text ending with newiline'||chr(10);
begin
   IF (SUBSTR(test_string, -1) = CHR(10)) THEN
      DBMS_OUTPUT.PUT_LINE('THERE IS!');
   END IF;
end;