SQL - Chức năng Kiểu dữ liệu: Hướng dẫn cho Người mới bắt đầu

Xin chào các pháp sư SQL tương lai! Tôi rất vui mừng được làm hướng dẫn viên của bạn trong hành trình đầy.exciting vào thế giới của các Chức năng Kiểu dữ liệu SQL. Là người đã dạy khoa học máy tính hơn một thập kỷ, tôi có thể告诉 bạn rằng việc thành thạo các chức năng này giống như có siêu năng lực trong lĩnh vực cơ sở dữ liệu. Vậy, hãy c rolled up our sleeves và nhảy vào!

SQL - Datatype Functions

Chức năng Kiểu dữ liệu SQL là gì?

Trước khi chúng ta đi vào chi tiết, hãy hiểu chúng ta đang đối phó với điều gì. Các Chức năng Kiểu dữ liệu SQL là những công cụ đặc biệt giúp chúng ta chuyển đổi dữ liệu từ một kiểu sang kiểu khác hoặc trích xuất thông tin về kiểu dữ liệu của một giá trị. Hãy nghĩ về chúng như những pháp thuật ma thuật có thể biến đổi dữ liệu của bạn thành chính xác những gì bạn cần!

Tại sao chúng lại quan trọng?

Hãy tưởng tượng bạn đang nướng một chiếc bánh (xin hãy kiên nhẫn với tôi, tôi hứa rằng điều này liên quan đến SQL!). Bạn có các nguyên liệu ở nhiều dạng khác nhau - chất lỏng trong cốc, chất rắn trong gam. Để làm theo công thức chính xác, bạn thường cần chuyển đổi giữa các đơn vị đo lường. Đó chính xác là điều mà các chức năng kiểu dữ liệu làm trong SQL - chúng giúp chúng ta chuyển đổi và manipulates dữ liệu để nó ở đúng "dạng" cho các hoạt động cơ sở dữ liệu của chúng ta.

Các Chức năng Kiểu dữ liệu Thường gặp

Hãy cùng khám phá một số các chức năng kiểu dữ liệu thường được sử dụng nhất. Tôi sẽ cung cấp ví dụ cho từng cái, và chúng ta sẽ phân tích chúng cùng nhau.

1. CAST()

Chức năng CAST() giống như một người thay đổi hình dạng trong thế giới SQL. Nó cho phép bạn chuyển đổi một giá trị từ một kiểu dữ liệu sang kiểu khác.

SELECT CAST(25.65 AS INT) AS IntValue;

Truy vấn này sẽ trả về:

IntValue
25

Đã xảy ra điều gì ở đây? Chúng ta đã lấy số thập phân 25.65 và cast nó thành một số nguyên. SQL đã cắt bỏ phần thập phân, để lại cho chúng ta 25.

2. CONVERT()

CONVERT() tương tự như CAST(), nhưng nó đặc trưng cho Microsoft SQL Server và cung cấp một số tính năng bổ sung.

SELECT CONVERT(VARCHAR(10), GETDATE(), 101) AS USDateFormat;

Điều này có thể trả về:

USDateFormat
05/15/2023

Trong ví dụ này, chúng ta đang chuyển đổi ngày hiện tại (GETDATE()) thành VARCHAR (chuỗi) với một định dạng ngày Mỹ cụ thể (mã 101 cho mm/dd/yyyy).

3. COALESCE()

COALESCE() giống như một người bạn trung thành luôn có sau lưng bạn. Nó trả về giá trị không null đầu tiên trong danh sách.

SELECT COALESCE(NULL, NULL, 'Hello', NULL, 'World') AS FirstNonNull;

Kết quả:

FirstNonNull
Hello

COALESCE() đã kiểm tra từng giá trị từ trái sang phải và trả về 'Hello' vì đó là giá trị không null đầu tiên nó gặp.

4. NULLIF()

NULLIF() là người làm hòa trong SQL. Nó so sánh hai biểu thức và trả về NULL nếu chúng bằng nhau, nếu không nó trả về biểu thức đầu tiên.

SELECT NULLIF(10, 10) AS Result1, NULLIF(5, 10) AS Result2;

Điều này cho chúng ta:

Result1 Result2
NULL 5

Trong trường hợp đầu tiên, cả hai giá trị đều là 10, vì vậy NULLIF() trả về NULL. Trong trường hợp thứ hai, các giá trị khác nhau, vì vậy nó trả về giá trị đầu tiên, 5.

Ứng dụng Thực tế

Bây giờ, hãy xem các chức năng này có thể hữu ích như thế nào trong các tình huống thực tế.

Xử lý các Giá trị Null

Hãy tưởng tượng bạn đang làm việc với một cơ sở dữ liệu điểm số học sinh, nhưng một số điểm số bị thiếu (NULL). Bạn muốn tính điểm trung bình, nhưng các giá trị NULL có thể làm rối loạn các phép toán của bạn. Đây là nơi COALESCE() ra vào cuộc:

SELECT AVG(COALESCE(Grade, 0)) AS AverageGrade
FROM StudentGrades;

Truy vấn này thay thế tất cả các điểm số NULL bằng 0 trước khi tính điểm trung bình. Điều này giống như nói, "Nếu một điểm số bị thiếu, hãy giả sử nó là 0 cho bây giờ."

Làm sạch Dữ liệu

Hãy tưởng tượng bạn có một cột với các kiểu dữ liệu hỗn hợp, và bạn muốn trích xuất chỉ các giá trị số:

SELECT
OriginalValue,
CASE
WHEN ISNUMERIC(OriginalValue) = 1
THEN CAST(OriginalValue AS FLOAT)
ELSE NULL
END AS CleanedNumericValue
FROM MixedDataTable;

Truy vấn này kiểm tra xem mỗi giá trị có phải là số không. Nếu có, nó chuyển đổi nó thành FLOAT. Nếu không, nó trả về NULL. Điều này giống như có một máy phân loại chỉ lấy ra các số từ một túi hỗn hợp các vật phẩm.

Kết luận

Và thế là bạn đã có, các bạn! Chúng ta đã hành trình qua vùng đất của các Chức năng Kiểu dữ liệu SQL, từ CAST() thay đổi hình dạng đến COALESCE() trung thành. Nhớ rằng, các chức năng này là công cụ của bạn để tạo hình và định hình dữ liệu theo nhu cầu của bạn. Càng luyện tập sử dụng các công cụ này, bạn sẽ càng thành thạo hơn.

Khi chúng ta kết thúc, đây là một chút hài hước SQL cho bạn: Tại sao quản trị viên cơ sở dữ liệu rời bỏ vợ của mình? Bà ấy có nhiều mối quan hệ một-nhiều! (Tôi sẽ tự mình ra ngoài bây giờ.)

Tiếp tục luyện tập, hãy tò mò, và trước khi bạn biết điều đó, bạn sẽ casting và converting dữ liệu như một chuyên gia. Đến gặp lại, chúc bạn vui vẻ với SQL!

Credits: Image by storyset