NVarchar cũng là kiểu dữ liệu ký tự có độ dài thay đổi được sử dụng để lưu trữ định dạng dữ liệu UniCode. Đối với các định dạng dữ liệu Unicode, bạn có thể nghĩ đến các bảng chữ cái của ngôn ngữ Trung Quốc, Nhật Bản, Hàn Quốc và tiếng Ả Rập.
Varchar có thể lưu trữ các ký tự 'tiếng Anh' và cần một byte để lưu trữ mỗi ký tự. Nvarchar có thể lưu trữ các ký tự tiếng Anh và các ngôn ngữ khác. NVarchar lấy hai byte để lưu trữ mỗi ký tự.
Hãy tạo hai biến và kiểm tra không gian được sử dụng bởi mỗi biến.
Khai báo @ Variable1 VARCHAR (20) Khai báo @ Variable2 NVARCHAR (20) SET @ Variable1 ='TechBrothersIT'SET @ Variable2 =' TechBrothersIT'S chọn độ dài dữ liệu (@ Variable1) là VarLength1, độ dài dữ liệu (@ Variable2) là VarLength2
Sự khác biệt giữa VARCHAR và NVARCHAR - Hướng dẫn sử dụng SQL Server
Như chúng ta có khai báo @ Variable2 là NVarchar, cần gấp đôi không gian so với @ Variable1 là Varchar để lưu trữ các ký tự.
Hãy tạo một bảng với các cột kiểu dữ liệu Varchar và NVarchar và chèn một vài bản ghi.
Tạo bảng dbo.VarcharVsNvarchar (VarcharName Varchar (50), NVarcharName NVARCHAR (50)) chèn vào dbo.VarcharVsNvarchar Giá trị ('عامر', 'عامر'), ('عامر ', N' عامر '), (' TechBrothersIT ', N'TechBrothersIT') Chọn * từ dbo.VarcharVsNvarchargoSelect DataLength (VarcharName) AS CHARNameLength, DataLength (NVarcharName) AS VarNameLength Từ dbo.Varchar>
Varchar VS Nvarchar trong SQL Server - Hướng dẫn TSQL
Truy vấn Chọn đầu tiên của chúng tôi đã trả lại cho chúng tôi dữ liệu. Nhận thấy rằng chúng tôi có một số dữ liệu rác ????. Ngay cả khi chúng tôi đã xác định kiểu dữ liệu của cột NVarchar, nó đã chèn rác. Để chèn dữ liệu Unicode trong cột kiểu Nvarchar, chúng ta cần Sử dụng N với dữ liệu như bạn có thể thấy trong chèn thứ hai (('عامر', N 'عامر')).