Đôi khi bạn có thể cần truyền dữ liệu MySQL từ kiểu dữ liệu này sang kiểu dữ liệu khác. Dưới đây là cách nhập dữ liệu bằng hàm MySQL CAST.
Cách nhập Truyền trong MySQL
Chúng ta sẽ xem xét cách MySQL CAST hoạt động và cách đánh máy dữ liệu bằng cách sử dụng hàm MySQL CAST.
Đâ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à một truy vấn SQL mẫu trong đó chúng tôi truyền một số nguyên thành một ký tự trong mệnh đề CHỌN
mysql> select cast(1 as char) from sales;
Bạn cũng có thể sử dụng MySQL CAST trong mệnh đề WHERE. Ở đây chúng tôi chuyển đổi chuỗi thành int trong mệnh đề WHERE.
mysql> select * from sales where id=CAST('213' as int);
Phần thưởng đọc:Cách sử dụng MySQL Rollup Query
Ví dụ về MySQL CAST
Hãy cùng chúng tôi xem xét một số ví dụ phổ biến của hàm MySQL CAST.
MySQL CAST dưới dạng Int
Dưới đây là một ví dụ để MySQL truyền float thành số nguyên có dấu. Xin lưu ý rằng bạn chỉ có thể truyền sang kiểu dữ liệu số nguyên UNSIGNED hoặc SIGNED. Bạn không thể sử dụng INT trong hàm CAST.
mysql> select cast(1.23 as signed); +------------------------+ | cast(1.23 as signed) | +------------------------+ | 1 | +------------------------+
MySQL CAST dưới dạng thập phân
Đây là cách truyền dưới dạng số thập phân
mysql> select cast(1.23 as decimal(4,3)); +----------------------------+ | cast(1.23 as decimal(4,3)) | +----------------------------+ | 1.230 | +----------------------------+
Phần thưởng đọc:Cách kiểm tra phiên bản MySQL
MySQL CAST dưới dạng Float
MySQL CAST không hỗ trợ ép kiểu float. Bạn phải truyền dưới dạng số thập phân như được hiển thị ở trên.
mysql> select cast(2.234 as decimal(5,3)); +-----------------------------+ | cast(2.234 as decimal(5,3)) | +-----------------------------+ | 2.234 | +-----------------------------+
Truyền MySQL dưới dạng Varchar
MySQL CAST không hỗ trợ ép kiểu varchar. Bạn cần ép kiểu char như hình dưới đây.
mysql> select cast('xyz' as char); +---------------------+ | cast('xyz' as char) | +---------------------+ | xyz | +---------------------+
MySQL Datetime to Date
Đây là cách truyền datetime đến ngày.
mysql> select cast('2020-01-01 13:30:00' as date); +-------------------------------------+ | cast('2020-01-01 13:30:00' as date) | +-------------------------------------+ | 2020-01-01 | +-------------------------------------+
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!