PL SQL проверка, содержит ли переменная только Char (10) с и никаких других значений - PullRequest
0 голосов
/ 16 апреля 2020

Привет, я пытаюсь сравнить две переменные VARCHAR2 - new_value, old_value. Я использую Replace(), чтобы проверить, есть ли общие значения, и удаляю их из new_value. Проблема возникает, когда:

old value = Test 1
            Test 2

new_value = Test 1
            Test 2
            Char(10)

В этом случае Replace() удалит все значения, кроме новой строки. Мне нужен способ проверить, есть ли в переменной только символы новой строки и / или пробелы.

1 Ответ

0 голосов
/ 16 апреля 2020

Вы можете использовать функцию 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>
...