Kolonneværdien i databasetabellen har ikke dobbelte anførselstegn.
Når du kopierer dataene fra resultatgitteret, tilføjer SQL Developer dem som en del af kopieringsoperationen for at hjælpe dig. (Der er sikkert en måde at bede den om at lade være med, men jeg kan ikke umiddelbart se en.) Det gør den, fordi den første værdi, du får, har en efterfølgende ny linje-karakter. Jeg kan duplikere, hvad du ser, hvis jeg gør:
select 'Testdata' || chr(10) from dual
union all
select 'Testdata' from dual;
Hvis jeg kører som et script, viser script-outputvinduet:
'TESTDATA
---------
Testdata
Testdata
Her er den nye linje tabt, og copy og paste fra det bevarer den ikke. Hvis jeg kører som en sætning, ser dataene i forespørgselsresultatvinduet det samme ud:
men hvis jeg kopierer disse data fra gitteret og indsætter dem (hvor som helst, ikke kun i Notepad++), ser jeg også:
"Testdata
"
Testdata
... så den nye linje bevares og er omgivet af dobbelte anførselstegn, så uanset hvad den er indsat i (jeg gætter på, at dette er målrettet mod Excel) forstår det, at det er en enkelt værdi, inklusive det nye linjetegn.
Problemet er, at de faktisk ikke er adskilte; den ene har en ny linje, den anden har ikke.
Hvis du vil ignorere det og behandle dem som det samme, kan du klippe den efterfølgende nye linje af:
select distinct rtrim(col, chr(10))
from your_table;
Demo med samme eksempeldata:
-- 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