Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak usunąć ukryte podwójne cudzysłowy w wartościach kolumn SQL Developer

Wartość kolumny w tabeli bazy danych nie zawiera podwójnych cudzysłowów.

Podczas kopiowania danych z siatki wyników program SQL Developer dodaje je jako część operacji kopiowania, aby Ci pomóc. (Prawdopodobnie jest sposób, aby poprosić, aby tego nie robić, ale nie widzę od razu jednego.) Robi to, ponieważ pierwsza wartość, którą otrzymujesz, ma znak nowej linii. Mogę powielić to, co widzisz, jeśli to zrobię:

select 'Testdata' || chr(10) from dual
union all
select 'Testdata' from dual;

Jeśli uruchamiam jako skrypt, okno wyjściowe skryptu pokazuje:

'TESTDATA
---------
Testdata
Testdata

Tutaj nowa linia zostaje utracona, a kopiowanie i wklejanie z niej nie zachowuje jej. Jeśli uruchamiam jako instrukcję, dane w oknie wyników zapytania wyglądają tak samo:

ale jeśli skopiuję te dane z siatki i wkleję je (w dowolnym miejscu, nie tylko w Notepad ++), widzę również:

"Testdata
"
Testdata

... więc nowy wiersz jest zachowywany i jest ujęty w podwójne cudzysłowy, więc wszystko, do czego jest wklejony (zgaduję, że jest to skierowane do programu Excel), rozumie, że jest to pojedyncza wartość, w tym znak nowego wiersza.

Problem polega na tym, że w rzeczywistości nie są one odrębne; jeden ma znak nowej linii, drugi nie.

Jeśli chcesz to zignorować i traktować je tak samo, możesz skrócić końcowy znak nowej linii:

select distinct rtrim(col, chr(10))
from your_table;

Demo z tymi samymi przykładowymi danymi:

-- 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy wyraźne zatwierdzenia są w porządku, gdy włączone jest automatyczne zatwierdzanie?

  2. Dziesięć najważniejszych powodów, dla których warto przejść z Oracle na PostgreSQL

  3. Jak ponownie wykorzystać przerwy w sekwencji Oracle w kolumnie klucza podstawowego?

  4. Korzystanie z wielu zagnieżdżonych zapytań w Oracle DBMS

  5. ORACLE TRIGGER WŁÓŻ DO ... (WYBIERZ * ...)