sql >> Database teknologi >  >> RDS >> Oracle

Sådan fjerner du skjulte dobbelte anførselstegn i kolonneværdier i SQL Developer

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

  1. MySQL - udarbejdelse af AVG for et undersæt af MAX-værdier

  2. hvordan man bruger Fuzzy look up til at finde sætningen i SQL?

  3. Hvordan kan jeg fjerne polstrede NULL-bytes ved hjælp af SELECT i MySQL

  4. SQL:Gør farver fra farvetabel søgbare