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

Do czego tak naprawdę służy typ danych SQL national znak (NCHAR)?

„NARODOWY” w tym przypadku oznacza postacie specyficzne dla różnych narodowości. Zwłaszcza języki dalekowschodnie mają tak wiele znaków, że jeden bajt to za mało miejsca, aby je wszystkie rozróżnić. Jeśli więc masz aplikację tylko w języku angielskim (ascii) lub pole tylko w języku angielskim , możesz uciec, używając starszych typów CHAR i VARCHAR, które zezwalają tylko na jeden bajt na znak.

To powiedziawszy, przez większość czasu powinieneś używać NCHAR / NVARCHAR. Nawet jeśli uważasz, że nie musisz obsługiwać (lub potencjalnie obsługiwać) wielu języków w swoich danych, nawet aplikacje tylko w języku angielskim muszą być w stanie rozsądnie radzić sobie z atakami bezpieczeństwa przy użyciu znaków obcojęzycznych.

Moim zdaniem jedynym miejscem, w którym nadal preferowane są starsze typy CHAR/VARCHAR, są często przywoływane wewnętrzne kody tylko w ascii i dane na platformach takich jak Sql Server, które obsługują rozróżnienie — dane, które byłyby odpowiednikiem enum w języku klienta, takim jak C++ lub C#.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskiwanie dostępu do tabeli innego użytkownika w ramach procedury składowanej Oracle

  2. Różnica w czasie między rekordami

  3. Oracle, dodawanie wiodących zer do łańcucha (nie liczby)

  4. Jak przeanalizować xml według xmltable podczas korzystania z przestrzeni nazw w xml(Oracle)

  5. Programista SQL:wygeneruj dokument DB dla innego użytkownika