Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jaka jest różnica między varchar a nvarchar?

nvarchar kolumna może przechowywać dowolne dane Unicode. varchar kolumna jest ograniczona do 8-bitowej strony kodowej. Niektórzy uważają, że varchar powinien być używany, ponieważ zajmuje mniej miejsca. Uważam, że to nie jest prawidłowa odpowiedź. Niezgodności strony kodowej są uciążliwe, a Unicode jest lekarstwem na problemy ze stroną kodową. Przy tanim dysku i pamięci w dzisiejszych czasach naprawdę nie ma już powodu, aby tracić czas na grzebanie w stronach kodowych.

Wszystkie nowoczesne systemy operacyjne i platformy programistyczne używają wewnętrznie Unicode. Używając nvarchar zamiast varchar , możesz uniknąć wykonywania konwersji kodowania za każdym razem, gdy czytasz lub zapisujesz w bazie danych. Konwersje wymagają czasu i są podatne na błędy. A odzyskiwanie po błędach konwersji to nietrywialny problem.

Jeśli łączysz się z aplikacją, która używa tylko ASCII, nadal polecam używanie Unicode w bazie danych. Algorytmy sortowania systemu operacyjnego i bazy danych będą działać lepiej z Unicode. Unicode pozwala uniknąć problemów z konwersją podczas łączenia się z innymi systemy. I będziesz przygotowywać się na przyszłość. Zawsze możesz sprawdzić, czy Twoje dane są ograniczone do 7-bitowego kodu ASCII dla dowolnego starszego systemu, który musisz utrzymywać, nawet korzystając z niektórych zalet pełnego przechowywania Unicode.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Równoległe przywracanie kopii zapasowej serwera SQL Server -2

  2. Dlaczego tworzysz widok w bazie danych?

  3. Zapytanie SQL Gdzie Kolumna ='' zwracająca znaki Emoji 🎃 i 🍰

  4. Transpozycja wierszy i kolumn bez agregatu

  5. Przestawiaj wiele kolumn na podstawie jednej kolumny w SQL Server