Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Каква е разликата между CHAR и VARCHAR в SQL Server - SQL Server / T-SQL урок, част 31

CHAR и VARCHAR и двата типа данни се използват за съхраняване на низове от знаци.

Char е с фиксирана ширина, което означава, че размерът за съхранение на стойността char е равен на максималния размер на колоната/ променлива.

Varchar е с променлива дължина. Размерът на хранилището, използвано от Varchar, зависи от действително запазените знаци.


Пример 1:

Нека създадем няколко променливи и след това да запазим същия низ и да проверим хранилището, използвано от функцията за дължина на данните в SQL Server.

Деклариране @Variable1 CHAR(20)Деклариране @Variable2 VARCHAR(20)SET @ Variable1='TechBrothersIT'SET @Variable2='TechBrothersIT'Изберете дължина на данните(@Variable1) като VarLength1, дължина на данните(@Variable2) като VarLength2
 
 Каква е разликата между CHAR и VARCHAR в SQL Server - T-SQL урок
Както можете вижте по-горе, Char заема 20 байта място за 20 знака, дори ние спестихме само 14 знака. От друга страна, Varchar използва само 14 байта за съхраняване на 14 знака.


Примери 2:

Нека създадем таблица с две колони, веднъж char и друг тип данни varchat. Съхранявайте същата информация и след това проверете пространството, заето от всяка стойност, като използвате функцията за дължина на данните.
Създайте таблица dbo.CharVsVarChar( CHARName CHAR(50),VARName VARCHAR(50))вмъкнете в dbo.CharVsVarChar  
Стойности('Aamir','Aamir'),('TechBrothersIT','TechBrothersIT'),('Raza','Raza')go
Изберете DataLength(CharName) КАТО CHARNameLength,DataLength(VarName) AS VarNameLength от dbo.CharVsVarChar
 
 Char срещу Varchar в SQL Server - SQL Server / T-SQL урок 
 
 Можем да видим, че символите винаги заемат едно и също място, независимо от записаното число или знаци. От друга страна, заетото пространство на Varchar варира в зависимост от броя на запазените знаци.
В случаите, когато знаем, че ще съхраняваме фиксиран брой знаци, можем да използваме Char, в противен случай използваме Varchar.


  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 спрямо версиите

  2. Как работи SET ROWCOUNT в SQL Server

  3. Настройка и конфигуриране на репликация на SQL Server

  4. Как може LEFT OUTER JOIN да върне повече записи, отколкото съществуват в лявата таблица?

  5. Увеличаване на размера на базата данни на SQL Server с помощта на хронология на архивиране