MySQL CAST và MySQL CONVERT đều giúp bạn thay đổi kiểu dữ liệu trong MySQL. Chúng rất giống nhau về chức năng với một vài điểm khác biệt. Dưới đây là so sánh MySQL CAST và CONVERT để giúp bạn quyết định nên sử dụng cái nào.
MySQL CAST so với CONVERT
Dưới đây là so sánh từng bước giữa MySQL CAST và CONVERT.
Chức năng
MySQL CAST cho phép bạn truyền dữ liệu từ một kiểu dữ liệu này sang một kiểu dữ liệu khác. Đây là bài viết chi tiết của chúng tôi về MySQL CAST.
MySQL CONVERT cũng cho phép bạn chuyển đổi dữ liệu từ kiểu dữ liệu này sang kiểu dữ liệu khác. Nó cũng cho phép bạn chuyển đổi bộ dữ liệu ký tự thành một bộ ký tự khác. MySQL CAST không thể được sử dụng để thay đổi bộ ký tự. Đây là bài viết chi tiết của chúng tôi về CHUYỂN ĐỔI MySQL.
Bạn có thể sử dụng MySQL CAST cũng như MySQL CONVERT để chuyển đổi kiểu dữ liệu của các chữ cũng như các cột.
Cú pháp
Đây là cú pháp của hàm MySQL CAST
CAST(data as data_type)
MySQL CAST yêu cầu hai đầu vào - dữ liệu được đánh máy và kiểu dữ liệu (thập phân, ký tự, v.v.) mà bạn muốn chuyển đổi dữ liệu này. Bạn có thể truyền dữ liệu thành các kiểu dữ liệu BINARY, CHAR, DATE, DATETIME, TIME, DECIMAL, SIGNED, UNSIGNED.
Bạn có thể cung cấp dữ liệu dưới dạng giá trị chữ như hình dưới đây
CAST(1 as char)
HOẶC
Bạn có thể dữ liệu dưới dạng tên cột (ví dụ:id)
CAST(id as char)
Phần thưởng đã đọc:Truy vấn khôi phục MySQL
Đây là cú pháp của hàm CONVERT trong MySQL
CONVERT(input_value, data_type)
Trong hàm trên, bạn cần cung cấp input_value dưới dạng chữ hoặc tên cột và data_type mà bạn muốn chuyển đổi dữ liệu này. Giống như MySQL CAST, bạn có thể truyền dữ liệu thành các kiểu dữ liệu BINARY, CHAR, DATE, DATETIME, TIME, DECIMAL, SIGNED, UNSIGNED.
Ví dụ:đây là cách chuyển đổi giá trị chữ sang một kiểu dữ liệu khác
CONVERT(1, char)
và đây là cách chuyển đổi một cột (ví dụ:id) sang một loại dữ liệu khác
CONVERT(id, char)
Đây là cú pháp CHUYỂN ĐỔI của MySQL để chuyển đổi bộ ký tự
CONVERT(input_value USING character_set)
Trong hàm trên, bạn cần cung cấp input_value dưới dạng chuỗi ký tự hoặc tên cột và bộ ký tự mà bạn muốn chuyển đổi dữ liệu này.
Dưới đây là một ví dụ về cách truyền dưới dạng latin1
convert('test string' using 'latin1')
Phần thưởng đọc:Cách sử dụng MySQL Rollup
Các kiểu dữ liệu được hỗ trợ
Cả MySQL CAST và MySQL CONVERT chỉ hỗ trợ chuyển đổi dữ liệu sang các kiểu dữ liệu BINARY, CHAR, DATE, DATETIME, TIME, DECIMAL, SIGNED, UNSIGNED. Các kiểu dữ liệu khác không được hỗ trợ.
Đặc tả SQL ANSI
MySQL CAST là một phần của đặc tả ANSI SQL trong khi MySQL CONVERT không phải là một phần của đặc tả ANSI SQL.
Như đã đề cập trước đó MySQL CAST và MySQL CONVERT tương tự nhau và có thể được sử dụng thay thế cho nhau trong hầu hết các trường hợp.
Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!