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

Jaka jest różnica między VARCHAR i NVARCHAR w serwerze SQL - SQL Server / T-SQL Tutorial Część 32

Varchar to typ danych znaków o zmiennej długości, który jest używany do przechowywania danych w formacie innym niż Unicode. Możesz myśleć o innych niż Unicode jako o angielskich znakach.

NVarchar to również typ danych znaków o zmiennej długości, który jest używany do przechowywania danych w formacie UniCode. W przypadku formatów danych Unicode można pomyśleć o alfabetach języka chińskiego, japońskiego, koreańskiego i arabskiego.

Varchar może przechowywać znaki „angielskie” i każdy znak zajmuje jeden bajt. Nvarchar może przechowywać znaki angielskie i inne języki. NVarchar zajmuje dwa bajty do przechowywania każdego znaku.

Utwórzmy dwie zmienne i sprawdźmy miejsce używane przez każdą zmienną.

Zadeklaruj @Variable1 VARCHAR(20)Zadeklaruj @ Variable2 NVARCHAR(20)SET @Variable1='TechBrothersIT'SET @Variable2='TechBrothersIT'Wybierz długość danych(@Variable1) jako VarLength1, datalength(@Variable2) jako VarLength2

Jaka jest różnica między VARCHAR i NVARCHAR - samouczek SQL Server

Tak jak mamy zadeklaruj @Variable2 jako NVarchar, zajęło to dwa razy więcej miejsca w porównaniu do @Variable1, która jest Varchar do przechowywania znaków.


Utwórzmy tabelę z kolumnami Varchar i NVarchar i wstaw kilka records.

Utwórz tabelę dbo.VarcharVsNvarchar( VarcharName Varchar(50),NVarcharName NVARCHAR(50))wstaw do dbo.VarcharVsNvarchar Values('عامر','عامر'),('عامر ',N'عامر'),('TechBrothersIT',N'TechBrothersIT')Wybierz * z dbo.VarcharVsNvarchargoSelect DataLength(VarcharName) AS CHARNameLength,DataLength(NVarcharName) AS VarNameLength Z dbo.NvarcharVarchar 
Varchar VS Nvarchar w SQL Server — samouczek TSQL

Zwróciło nam nasze pierwsze zapytanie Select dane. Zauważyłem, że mamy jakieś śmieciowe dane ????. Nawet my zdefiniowaliśmy typ danych kolumny NVarchar, wstawiliśmy śmieci. Aby wstawić dane Unicode w kolumnie typu Nvarchar, musimy użyć N z danymi, jak widać w drugiej wstawce ( ('عامر',N'عامر')).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server CTE i przykład rekurencji

  2. Wywołanie API z procedury składowanej SQL Server

  3. SqlDataSourceEnumerator.Instance.GetDataSources() nie lokalizuje lokalnego wystąpienia serwera SQL 2008

  4. 3 sposoby konwersji liczby całkowitej na dziesiętną w SQL Server

  5. Wyświetl listę wszystkich kolumn dopuszczających wartość null w bazie danych programu SQL Server