Tính toàn vẹn và bảo mật của SQL nói chung được thể hiện ở chỗ các cột dữ liệu đều có có datatype riêng, đôi khi điều này gây khó khăn khi ta thao tác. Trong bài viết này SmartData sẽ chia về hàm CAST trong MySQL giúp xử lý vấn đề này.
Hàm CAST
Tác dụng
Hàm CAST chuyển đổi một giá trị từ một kiểu dữ liệu này sang kiểu dữ liệu khác.
Cú pháp
Cú pháp của hàm CAST trong MySQL là:
CAST( value AS type )
Giải thích:
value: Giá trị để chuyển đổi sang kiểu dữ liệu khác.
type: Kiểu dữ liệu mà bạn muốn chuyển đổi giá trị thành.
Một số kiểu dữ liệu chuyển đổi thường dùng:
Giá trị | Mô tả |
DATE | Chuyển đổi giá trị thành loại DATE, chỉ có phần ngày. Định dạng là ‘YYYY-MM-DD’. |
DATETIME | Chuyển đổi giá trị thành loại DATETIME, có cả phần ngày và thời gian. Định dạng là ‘YYYY-MM-DD HH: MM: SS’. |
TIME | Chuyển đổi giá trị thành loại TIME, chỉ có phần thời gian. Định dạng là ‘HH: MM: SS’. |
CHAR | Chuyển đổi giá trị thành loại CHAR, là một chuỗi có độ dài cố định. |
SIGNED | Chuyển đổi giá trị thành loại SIGNED, là số nguyên 64 bit có dấu. |
UNSIGNED | Chuyển đổi giá trị thành loại UNSIGNED, là số nguyên 64 bit không dấu |
BINARY | Chuyển đổi giá trị thành loại BINARY, là một chuỗi nhị phân. |
Ví dụ 1:
SQL> SELECT CAST('2023-5-6' AS DATE);
Ở đây ta chuyển đổi chuỗi ‘2023-5-6’ về kiểu DATE, và kết quả là:
Ví dụ 2:
SQL> SELECT CAST('2023-5-6 9:4:10' AS DATETIME);
Kết quả:
Ví dụ 3: Ta có dữ liệu bảng nhanvien
- Chuyển đổi dữ liệu cột manv từ kiểu chuỗi sang kiểu số
SQL> select manv, cast(manv as SIGNED) as temp from nhanvien
Kết quả:
Kết luận
Thông qua bài viết trên chúng ta đã có thêm hiểu biết về hàm CAST trong MySQL. Hàm cast sẽ rất hữu trong khi ta làm việc trên một cơ sở dữ liệu phúc tạm với khả năng ép kiểu dữ liệu mong muốn.
Nếu bạn là newbie có thể tham khảo bài viết này để tìm hiểu lộ trình học DA trong 3 tháng của SmartData
Nếu bạn thấy bài viết hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa: