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

Znak ampersand (&) jest ignorowany w Oracle ORDER BY

Jest to efekt sortowania językowego:

SQL> alter session set nls_sort=binary;

Session altered.

SQL> get afiedt.buf
  1  select * from (
  2  select '&' txt from dual
  3  union
  4  select '&'||'Z' txt from dual
  5  union
  6  select '&'||'A' txt from dual
  7  union
  8  select 'P' txt from dual
  9  union
 10  select 'N' txt from dual
 11  )
 12* order by txt
SQL> /

TX
--
&
&A
&Z
N
P

SQL> alter session set nls_sort = 'Dutch';

Session altered.

SQL> get afiedt.buf
  1  select * from (
  2  select '&' txt from dual
  3  union
  4  select '&'||'Z' txt from dual
  5  union
  6  select '&'||'A' txt from dual
  7  union
  8  select 'P' txt from dual
  9  union
 10  select 'N' txt from dual
 11  )
 12* order by txt
SQL> /

TX
--
&
&A
N
P
&Z

To ma znaczenie dla sortowanego języka. Niektóre postacie mają różne wartości w zależności od języka. W przypadku plików binarnych sortujesz według wartości ascii.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java JDBC nie może połączyć się z bazą danych Oracle za pomocą SSL

  2. Wyszukaj, czy liczba jest zawarta w wyrażeniu takim jak:1-3,5,10-15,20

  3. Wstaw datę do Oracle

  4. Uzyskaj najlepsze wyniki dla każdej grupy (w Oracle)

  5. Wygasłe hasło bazy danych i wciąż aktywne połączenia