Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

DATALENGTH () trong SQL Server là gì?

Trong SQL Server (và Azure), T-SQL DATALENGTH() hàm trả về số byte được sử dụng để biểu diễn bất kỳ biểu thức nào.

Ví dụ:

SELECT DATALENGTH('Lit');

Kết quả:

3

Trong trường hợp này, có 3 byte trong chuỗi Lit .

Tuy nhiên, đây là một ví dụ đơn giản. Kết quả có thể trông rất khác nhau, tùy thuộc vào loại dữ liệu.

Trong ví dụ trên, chúng ta thấy rằng có 3 byte trong từ Lit . Điều này cũng xảy ra để biết chính xác có bao nhiêu ký tự trong chuỗi. Nhưng nếu chúng ta trả về cùng một từ đó từ một cột trong cơ sở dữ liệu, chúng ta có thể nhận được một kết quả khác. Ví dụ:điều này:

SELECT 
    ArtistName, 
    DATALENGTH(ArtistName) AS DataLength 
FROM Artists 
WHERE ArtistName = 'Lit';

Kết quả:

ArtistName  DataLength
----------  ----------
Lit         6          

Trong trường hợp này, độ dài dữ liệu là 6.

Lý do cho điều này là vì, trong cơ sở dữ liệu cụ thể này, cột có nvarchar (255) loại dữ liệu. nvarchar kiểu dữ liệu là một chuỗi unicode, lưu trữ 2 byte cho mỗi ký tự (có thể tăng gấp đôi độ dài dữ liệu một cách hiệu quả). Nếu thay vào đó, cột đã sử dụng varchar (255) nó sẽ có độ dài dữ liệu là 3. Tuy nhiên, nếu nó nói rằng, char (25) chuỗi sẽ có độ dài dữ liệu là 25.

Ngoài ra, nếu trước đây nó là char (25) nhưng sau đó nó được chuyển đổi thành varchar (255) nó sẽ vẫn có độ dài dữ liệu là 255.

Tuy nhiên, trong mọi trường hợp, LEN() hàm sẽ trả về 3.

Khoảng trống sau

DATALENGTH() hàm đếm khoảng trống ở cuối (ví dụ:khoảng trắng ở cuối chuỗi, tab, dấu xuống dòng, v.v.).

Ví dụ:

SELECT DATALENGTH('Lit');

Kết quả:

4

Trong ví dụ này, tôi chỉ cần thêm một khoảng trắng vào cuối chuỗi. Đây là một trong những điểm khác biệt giữa LEN()DATALENGTH() .

Bạn có thể xem các ví dụ về LEN()DATALENGTH() cạnh nhau trong LEN() so với DATALENGTH() .

Loại trả lại

DATALENGTH() hàm trả về kiểu dữ liệu là int , trừ khi biểu thức là varchar (max) , nvarchar (tối đa) hoặc varbinary (max) , trong trường hợp đó, nó trả về bigint .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách hiển thị đối chiếu máy chủ trong SQL Server (T-SQL)

  2. Kết hợp PowerShell và Trình quản lý chẩn đoán SQL để tự động giám sát SQL Server

  3. Cách đơn giản để chuyển đổi các cột và hàng trong SQL?

  4. Cách sys.dm_exec_describe_first_result_set hoạt động trong SQL Server

  5. Trả lại hạt giống ban đầu của cột danh tính trong SQL Server