嗨,我正在尝试比较两个VARCHAR2变量——new_value
和old_value
。我使用Replace()
来检查是否有公共值,并将它们从new_value
中删除。问题出现在:
old value = Test 1
Test 2
new_value = Test 1
Test 2
Char(10)
在这种情况下,Replace()
将删除除新行之外的所有值。我需要检查变量中是否只有换行符和/或空格。
您可以使用ASCII
函数来获取替换后剩余数据的ASCII
值,然后很容易地检查它是空格还是换行符,如下所示:
SQL> SELECT ASCII(REPLACE(N,O)) FROM
2 (SELECT
3 'Test 1
4 Test 2' AS O,
5 'Test 1
6 Test 2'
7 || CHR(10) AS N
8 FROM
9 DUAL);
ASCII(REPLACE(N,O))
-------------------
10 -- it means, it is new line
SQL>