Значение столбца в таблице базы данных не имеет двойных кавычек.
Когда вы копируете данные из таблицы результатов, SQL Developer добавляет их как часть операции копирования, чтобы помочь вам.(Вероятно, есть способ попросить этого не делать, но я не могу сразу его увидеть.) Это происходит потому, что первое значение, которое вы получаете, имеет символ новой строки в конце.Я могу скопировать то, что вы видите, если я сделаю:
select 'Testdata' || chr(10) from dual
union all
select 'Testdata' from dual;
Если я запускаю как скрипт, окно вывода скрипта показывает:
'TESTDATA
---------
Testdata
Testdata
Здесь новая строка потеряна, икопирование и вставка из этого не сохраняют его.Если я запускаю как оператор, данные в окне результатов запроса выглядят одинаково:
, но если я скопирую эти данные из таблицы и вставлю их(где угодно, не только в Notepad ++) Я также вижу:
"Testdata
"
Testdata
... поэтому символ новой строки сохраняется и заключается в двойные кавычки, чтобы он не вставлялся в него (я предполагаю, что этонацеленный на Excel) понимает, что это одно значение, включая символ новой строки.
Я пытаюсь получить отличное значение от этих 2 значений
Проблема в том, чтона самом деле они не различимы;у одной есть новая строка, у другой нет.
Если вы хотите игнорировать это и рассматривать их как одно и то же, вы можете обрезать завершающую новую строку:
select distinct rtrim(col, chr(10))
from your_table;
Демо с тем же примеромданные:
-- CTE for sample data
with your_table (col) as (
select 'Testdata' || chr(10) from dual
union all
select 'Testdata' from dual
)
select col
from your_table;
COL
---------
Testdata
Testdata
-- CTE for sample data
with your_table (col) as (
select 'Testdata' || chr(10) from dual
union all
select 'Testdata' from dual
)
select distinct rtrim(col, chr(10)) as col
from your_table;
COL
---------
Testdata