Khi bắt đầu học với LearnSQL.com, bạn bắt đầu hiểu các kiểu dữ liệu khác nhau của SQL. Trong bài viết này, chúng tôi sẽ đề cập đến kiểu dữ liệu số SQL.

Bạn đang xem : kiểu dữ liệu số trong máy chủ sql

Tạo bảng là bước đầu tiên trong bất kỳ dự án mã hóa SQL nào. Bạn thực hiện việc này bằng cách sử dụng các câu lệnh DDL (Ngôn ngữ định nghĩa dữ liệu) như CREATE DROP , mà bạn có thể tìm hiểu trong Tạo Bảng trong khóa học SQL . Khi bạn đã thiết lập bảng của mình, bạn bắt đầu liệt kê tên cột và kiểu dữ liệu trong SQL. Các loại dữ liệu cho cơ sở dữ liệu của bạn biết thông tin nào sẽ mong đợi cho cột đó.

Giả sử bạn có một bảng ‶ người dùng ”. Mỗi người dùng có thông tin trong cột tên và cột số điện thoại. Tên sẽ được lưu trữ trong một cột ký tự. Một số điện thoại sẽ ở trong một cột số. Vì vậy, cột số lưu trữ số và tất cả các số đều giống nhau, phải không? Đoán lại.

Có nhiều loại số khác nhau và có nhiều loại cột số khác nhau. Bất kỳ ai có kiến ​​thức về thống kê đều biết rằng có bốn thang đo khác nhau áp dụng cho các con số: danh nghĩa, thứ tự, khoảng và tỷ lệ. Không giống như các kiểu dữ liệu khác, kiểu số có thể đại diện cho tất cả các thang đo này (đó là lý do tại sao thay vì nói về kiểu dữ liệu số SQL, chúng ta nói về kiểu.) Nhưng các thang đo này khác nhau như thế nào?

  • Các giá trị danh nghĩa chỉ phân biệt bằng ‶ name ”. Các giá trị danh nghĩa không được coi như số; bạn không thể thêm hoặc bớt chúng, và chúng không có thứ tự vốn có. Ví dụ, số thẻ sinh viên và số điện thoại là giá trị danh nghĩa. Chúng hoạt động giống như một nhãn hơn là một số. Chúng ta có thể nói rằng các số điện thoại của chúng ta là bằng nhau (cùng tầm quan trọng, cùng độ dài) nhưng chúng ta không thể so sánh chúng hoặc nói rằng cái nào có trước. Chúng tôi không thể thêm chúng và nhận được một số điện thoại có ý nghĩa.
  • Giá trị thứ tự cung cấp thứ tự hoặc thứ hạng. Trong các giá trị thứ tự, thứ tự giữa chúng là điều quan trọng. Giả sử bạn có thang điểm từ 1 đến 3 đánh giá tâm trạng của bạn. Cảm thấy không vui sẽ giúp bạn có được ‶ 1 ”; nội dung nhận được ‶ 2 ”và hạnh phúc có giá trị là ‶ 3”. Bạn biết rằng hạnh phúc được xếp hạng cao hơn hài lòng hoặc không hạnh phúc, nhưng đó là về nó. Bạn không thể thêm ‶ nội dung ”và ‶ không vui” và nhận được một ‶ hạnh phúc ”.
  • Giá trị khoảng thời gian hiển thị sự khác biệt chính xác. Trong thang khoảng thời gian, sự khác biệt giữa các giá trị là điều quan trọng. Nếu bạn trừ đi 90 độ C từ 100 độ C, bạn sẽ nhận được sự khác biệt 10 độ. Số năm, ngày tháng và hầu hết các thước đo tính cách là thước đo khoảng thời gian. Giá trị khoảng thời gian là số và được biểu thị dưới dạng số trong cơ sở dữ liệu.
  • Giá trị tỷ lệ là khoảng thời gian có giá trị 0 xác định. Giống như thang đo khoảng thời gian, tỷ lệ có sự khác biệt có thể đo lường giữa các giá trị. Tuy nhiên, trong thang tỷ lệ, giá trị 0 có nghĩa là không có gì để đo lường. Ví dụ, hãy nghĩ về khối lượng, độ dài và thời lượng. Nếu bất kỳ cái nào trong số này có giá trị bằng 0, thì không có gì ở đó. Thang đo tỷ lệ rất quan trọng trong khoa học.

Mỗi kiểu dữ liệu số SQL được sử dụng để đại diện cho tất cả các giá trị ở trên, đặc biệt là khoảng và tỷ lệ. Bạn có thể so sánh các giá trị ký tự trong SQL, vì vậy người ta có thể tranh luận rằng các giá trị ký tự cũng có thể đại diện cho dữ liệu khoảng thời gian. Tuy nhiên, đó là một chủ đề cho một bài báo khác.

Xem Thêm  Tạo số ngẫu nhiên trong Javascript với Math.random () - hàm số ngẫu nhiên javascript

Trong SQL, các số được định nghĩa là chính xác hoặc gần đúng .

Các kiểu dữ liệu số chính xác là SMALLINT , INTEGER , BIGINT , NUMERIC (p, s) , và DECIMAL (p, s) . Kiểu dữ liệu số SQL chính xác có nghĩa là giá trị được lưu trữ dưới dạng biểu thị bằng chữ của giá trị của số.

Các kiểu dữ liệu số gần đúng là FLOAT (p) , REAL DOUBLE PRECISION . Những con số này đại diện cho số thực, nhưng chúng không được biểu thị dưới dạng số chính xác trong cơ sở dữ liệu. Đúng hơn, chúng là một số gần đúng của số thực vì cách hệ thống máy tính biểu diễn các con số. Nếu điều này nghe có vẻ khó hiểu, hãy yên tâm rằng chúng tôi sẽ giải thích chi tiết sau.

Hãy bắt đầu xem xét các kiểu số SQL với kiểu dữ liệu số hoặc chính xác.

Kiểu dữ liệu số SQL

Các kiểu dữ liệu số chính xác của SQL bao gồm NUMERIC (p, s) và DECIMAL (p, s) kiểu phụ. Chúng chính xác và chúng tôi xác định chúng bằng độ chính xác (p) và (các) tỷ lệ. Độ chính xác là một số nguyên đại diện cho tổng số chữ số được phép trong cột này. Các chữ số này nằm trong một cơ số hoặc cơ số cụ thể – tức là hệ nhị phân (cơ số 2) hoặc số thập phân (cơ số 10). Chúng thường được xác định bằng một số thập phân. Tỷ lệ, cũng là một giá trị số nguyên, biểu thị số thập phân ở bên phải (nếu là số dương) hoặc bên trái (nếu là số âm; điều này hiếm khi được sử dụng) của số thập phân.

Hãy xem một ví dụ. Giả sử rằng bạn đã xác định cột ‶ balance ”là NUMERIC với độ chính xác là 8 và tỷ lệ là 2.

DDL sẽ giống như sau:

TẠO tài khoản BẢNG (
tài khoản Không có số nguyên,
số dư (8,2)
);

Cột ‶ số dư ”có thể lưu trữ số 173226,62 một cách an toàn.

P đại diện cho tổng số tất cả các chữ số và s đại diện cho hai chữ số sau số thập phân.

Có một sự khác biệt nhỏ giữa NUMERIC (p, s) DECIMAL (p, s) kiểu dữ liệu số SQL. NUMERIC xác định độ chính xác và tỷ lệ chính xác . DECIMAL chỉ định chỉ tỷ lệ chính xác ; độ chính xác bằng hoặc lớn hơn những gì được chỉ định bởi người lập trình. Các cột DECIMAL có thể có độ chính xác lớn hơn quy định nếu điều này thuận tiện hơn hoặc hiệu quả hơn cho hệ thống cơ sở dữ liệu.

Nói cách khác, DECIMAL mang lại cho bạn một chút thời gian.

Lưu ý rằng dữ liệu tài chính chẳng hạn như số dư tài khoản phải được lưu trữ dưới dạng loại dữ liệu NUMERIC hoặc DECIMAL .

Ngoài ra, hãy lưu ý rằng nhiều hệ thống quản lý cơ sở dữ liệu hàng đầu có các biểu diễn kiểu số dành riêng cho nhà cung cấp (ví dụ: kiểu dữ liệu NUMBER của Oracle). Những triển khai này thường không phân biệt giữa các loại NUMERIC DECIMAL . (Trong Oracle, cả hai đều là loại NUMBER ).

Sai lầm kiểu số thường gặp

Khi chèn dữ liệu vào cột NUMERIC , hãy nhớ các giới hạn chính xác của nó. Nếu bạn cố gắng chèn một số quá lớn, bạn có thể gặp lỗi. Ví dụ: chúng tôi muốn chèn những điều sau:

CHÈN VÀO tài khoản (tài khoản Không, số dư) GIÁ TRỊ (1313,12331411,23);

Điều này sẽ tạo ra một lỗi. Tại sao? Chúng tôi thử lại với một số tương tự:

CHÈN VÀO tài khoản (tài khoản Không, số dư) GIÁ TRỊ (1313,123314.1123);

Lần thử thứ hai hoạt động. Điều này là do RDBMS làm tròn số được chèn bằng cách loại bỏ bất kỳ chữ số ‶ thừa nào ở bên phải của dấu thập phân. Trong trường hợp này, nó vẫn giữ ‶ .11 ”nhưng loại bỏ ‶ 23” theo sau. Lưu ý rằng Nếu chữ số bị loại bỏ đầu tiên là 5 trở lên, RDBMS sẽ làm tròn chữ số ngoài cùng bên trái.

Xem Thêm  Cách tắt nguồn OPPO nhanh | Khởi động lại OPPO dễ dàng

Trong ví dụ của chúng tôi, điều đó có nghĩa là nếu bạn chèn:

CHÈN VÀO tài khoản (tài khoản Không, số dư) GIÁ TRỊ (1313,123314.1153);

… số dư trong cơ sở dữ liệu sẽ là 123314,12.

Để tìm hiểu thêm về làm tròn và các hàm số phổ biến, hãy xem khóa học Cơ bản về SQL .

Các kiểu dữ liệu số nguyên

Các kiểu dữ liệu số nguyên chứa các số là số nguyên hoặc không có dấu thập phân. (Trong tiếng Latinh, số nguyên có nghĩa là toàn bộ.) ANSI SQL định nghĩa SMALLINT , INTEGER BIGINT là kiểu dữ liệu số nguyên. Sự khác biệt giữa các loại này là kích thước của số mà chúng có thể lưu trữ.

Dưới đây, chúng ta có thể thấy định nghĩa của Microsoft SQL về các kiểu dữ liệu số nguyên khác nhau:

Loại dữ liệu
Phạm vi
Kho

bigint
-2 ^ 63 (-9,223,372,036,854,775,808) đến 2 ^ 63-1 (9,223,372,036,854,775,807)
8 byte

int
-2 ^ 31 (-2,147,483,648) đến 2 ^ 31-1 (2,147,483,647)
4 byte

smallint
-2 ^ 15 (-32,768) đến 2 ^ 15-1 (32,767)
2 byte

tinyint
0 đến 255
1 Byte

Đối với những loại này, kích thước mặc định của cột là quan trọng. Việc xác định kích thước cột nhỏ hơn cho các loại số nguyên nhỏ hơn (nếu bạn biết trước kích thước tối đa) có thể giúp giữ cho bảng của bạn nhỏ nhất có thể.

Sai lầm kiểu số nguyên thường gặp

INTEGER cột làm tròn dấu thập phân. Để giải thích, hãy sửa đổi bảng của chúng ta một chút:

TẠO tài khoản BẢNG (
tài khoản Không có số nguyên,
số dư
);

Nếu chúng tôi chạy câu lệnh này:

CHÈN VÀO tài khoản (tài khoản Không, số dư) GIÁ TRỊ (1313,123314.3153);

… các giá trị đã chèn được làm tròn đến chữ số đầu tiên trước dấu thập phân. Giả sử chúng ta chèn 123314,5 vào cột số dư:

CHÈN VÀO tài khoản (tài khoản Không, số dư) GIÁ TRỊ (1313,123314,5);

Vì chúng tôi đã thay đổi giá trị đằng sau dấu thập phân thành giá trị bằng hoặc lớn hơn 5, chúng tôi sẽ nhận được 123315.

Nếu bạn đang sử dụng kiểu dữ liệu số nguyên trong công thức, hãy biết rằng làm tròn có thể gây ra sự mâu thuẫn trong công thức . Nếu bạn trừ 123314.3153 + 123314.3153:

CHÈN VÀO tài khoản (tài khoản Không, số dư) GIÁ TRỊ (1313.123314.3153 + 123314.3153);

.. giá trị được chèn sẽ là 123314. Nếu bạn lấy số dư trừ đi các giá trị tương tự mà chúng tôi đã thêm trước đó:

CHỌN SỐ CÂN - 123314.3153 TỪ TÀI KHOẢN;

… kết quả, bây giờ là một số thập phân, sẽ là 123314.3147. Đây là một sự mâu thuẫn rõ ràng. Bạn có thể tránh điều này bằng cách xác định các kiểu dữ liệu cột thích hợp tùy theo thao tác sẽ được thực hiện trên các cột .

Các kiểu dữ liệu nổi

Kiểu dữ liệu số SQL liên quan đến float và float giữ các giá trị số gần đúng. Chúng bao gồm một giá trị có nghĩa (một giá trị số có dấu) và một số mũ (một số nguyên có dấu xác định độ lớn của giá trị có nghĩa). Các loại dữ liệu này có độ chính xác hoặc số nguyên dương xác định số chữ số có nghĩa (số mũ của cơ số của số).

Loại biểu diễn dữ liệu này thường được gọi là biểu diễn dấu phẩy động.

Nếu chúng ta đại diện cho 173226,62 trong ký hiệu này (với cơ số 10), nó sẽ giống như thế này.

Giá trị của một giá trị số gần đúng là giá trị quan trọng của nó nhân với 10 thành số mũ.

Để thực sự hiểu kiểu dữ liệu số SQL dấu phẩy động, bạn sẽ phải đào sâu một chút về khoa học máy tính. Nó có thể thú vị, nhưng ở giai đoạn này của hành trình SQL của bạn, tôi tin rằng nó là quá mức cần thiết. Hiện tại, chỉ cần nhớ rằng có ba loại SQL gần đúng theo tiêu chuẩn ANSI: FLOAT (p) , REAL DOUBLE PRECISION .

Sự khác biệt giữa FLOAT (p) REAL FLOAT có độ chính xác nhị phân (không phải thập phân) bằng hoặc lớn hơn giá trị xác định. REAL có độ chính xác được xác định trước dựa trên cơ sở dữ liệu được triển khai. Trong cuộc sống làm việc bình thường, FLOAT hiếm khi được sử dụng; REAL DOUBLE PRECISION được gắn với việc triển khai hệ thống cụ thể và các nhà phát triển có xu hướng chuyển công việc triển khai hệ thống cho DBA và Sysadmins.

Xem Thêm  Chèn mảng trong JavaScript - Cách thêm vào một mảng bằng các hàm Đẩy, Không dịch chuyển và Kết hợp - cách thêm vào javascript mảng

Sự khác biệt trong REAL DOUBLE PRECISION REAL đại diện cho các số bằng 34 bit và DOUBLE PRECISION trong 64 bit.

Làm việc với các loại gần đúng

Điều rất quan trọng cần nhớ là kiểu dữ liệu số SQL này hy sinh độ chính xác cho phạm vi, do đó tên gần đúng.

Trong tính toán, các kiểu gần đúng có thể cho bạn kết quả kỳ lạ – như 204.000000056 trong đó kết quả chính xác phải là 204. Nếu bạn đang xây dựng cơ sở dữ liệu của mình cho một ứng dụng kỹ thuật hoặc khoa học, thì kiểu dữ liệu nổi sẽ ổn. Ngoài ra còn có sự khác biệt về tốc độ; nếu bạn đang thực hiện một số lượng đặc biệt lớn các phép tính phức tạp (ví dụ: hàm lượng giác, v.v.) thì kiểu float sẽ nhanh hơn nhiều so với các kiểu dữ liệu số khác. Mặt khác, nếu bạn đang làm việc trên một ứng dụng tài chính, ngân hàng hoặc các ứng dụng kinh doanh khác, thì việc sử dụng biểu diễn thập phân sẽ phù hợp hơn.

Danh mục kiểu dữ liệu số trong SQL không giới hạn ở những kiểu liên quan đến số nguyên và thập phân. Chúng phản ánh nhu cầu lưu trữ dữ liệu theo cách an toàn, có thể dự đoán được và có thể sử dụng được. Như với bất kỳ ngôn ngữ lập trình nào, chúng nhắc nhở chúng ta về khía cạnh khoa học máy tính của cơ sở dữ liệu và SQL.

Để thực hành từng kiểu dữ liệu số SQL và nắm rõ các khả năng, cách sử dụng, ràng buộc và các lỗi thường gặp của chúng, hãy truy cập LearnSQL.com và chúc bạn vui vẻ!


Xem thêm những thông tin liên quan đến chủ đề kiểu dữ liệu số trong máy chủ sql

Lab 3.B1: Sử dụng các hàm chuyển kiểu và định dạng (Cast, Convert, Format) trong SQL Server

  • Tác giả: Anh Nguyen Ngoc
  • Ngày đăng: 2020-06-03
  • Đánh giá: 4 ⭐ ( 2839 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Quản trị Cơ sở dữ liệu SQL Server playlist: https://www.youtube.com/playlist?list=PLn9lhDYvf_3Gdiz6uY9HAztCKapCvzTPe
    Nhóm thảo luận: https://www.facebook.com/groups/115838366528104

Các Kiểu Dữ Liệu Trong SQL Server : Cập Nhật Cực Đầy Đủ Và Chi Tiết Nhất

  • Tác giả: hostingviet.vn
  • Đánh giá: 5 ⭐ ( 6627 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Các kiểu dữ liệu trong SQL Server P1

  • Tác giả: gnv.edu.vn
  • Đánh giá: 3 ⭐ ( 1367 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Giải thích chi tiết các kiểu dữ liệu trong SQL Server kèm hình ảnh minh họa và ví dụ chi tiết, giúp bạn hiểu rõ hơn về các kiểu dữ liệu thông dụng.

Các kiểu dữ liệu trong SQL

  • Tác giả: nq.com.vn
  • Đánh giá: 3 ⭐ ( 6284 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Kiểu dữ liệu trong sql server là gì? gồm những loại nào các kiểu dữ liệu trong sql server

  • Tác giả: jdomain.vn
  • Đánh giá: 3 ⭐ ( 7954 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Biết kiểu dữ liệu của SQL giúp bạn dễ dàng làm chủ chúng trong quá trình truy vấn hay sử dụng, Chia sẻ sau sẽ mang đến cho bạn thông tin hữu ích về các kiểu dữ liệu trong SQL

Các kiểu dữ liệu trong SQL Server

  • Tác giả: comdy.vn
  • Đánh giá: 5 ⭐ ( 4475 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong hướng dẫn này, bạn sẽ tìm hiểu về các kiểu dữ liệu trong SQL Server bao gồm số, chuỗi ký tự, chuỗi nhị phân, ngày & giờ và các kiểu dữ liệu khác.

Các Kiểu Dữ Liệu Cho Số Điện Thoại Trong Sql Server, Giúp Mình Sql Điều Kiện Check Sdt

  • Tác giả: yome.vn
  • Đánh giá: 3 ⭐ ( 2677 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hosting Việt gửi tới bạn đọc tổng hợp toàn bộ các kiểu dữ liệu trong SQL Server cực đầy đủ và chi tiết, Bao gồm kiểu dữ liệu Demical, Money, Date, hình ảnh

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php