Đôi khi bạn có thể cần chuyển đổi dữ liệu trong MySQL hoặc nhập dữ liệu ép kiểu trong MySQL. Dưới đây là cách chuyển đổi dữ liệu từ kiểu dữ liệu này sang kiểu dữ liệu khác bằng cách sử dụng hàm CONVERT của MySQL. Nó cũng có thể được sử dụng để chuyển đổi dữ liệu từ bộ ký tự này sang bộ ký tự khác.
Cách chuyển đổi dữ liệu trong MySQL
Dưới đây là các bước để chuyển đổi dữ liệu trong MySQL bằng hàm CONVERT của 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 chuỗi ký tự 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
mysql> select convert('test string' using 'latin1'); +---------------------------------------+ | convert('test string' using 'latin1') | +---------------------------------------+ | test string | +---------------------------------------+
Phần thưởng đọc:Cách nhập Truyền trong MySQL
Ví dụ về CHUYỂN ĐỔI MySQL
Hãy cùng chúng tôi xem xét một số ví dụ về hàm CONVERT của MySQL.
Chuỗi CHUYỂN ĐỔI MySQL thành Ngày tháng
Đây là cách chuyển đổi chuỗi thành ngày tháng
mysql> select convert('2020-08-01',date); +----------------------------+ | convert('2020-08-01',date) | +----------------------------+ | 2020-08-01 | +----------------------------+
Phần thưởng đã đọc:Truy vấn khôi phục MySQL
Chuỗi chuyển đổi MySQL sang thập phân
Đây là cách chuyển đổi chuỗi thành số thập phân
mysql> select convert('1.234',decimal(4,3)); +-------------------------------+ | convert('1.234',decimal(4,3)) | +-------------------------------+ | 1.234 | +-------------------------------+
Phần thưởng đọc:Cách sử dụng MySQL Rollup
Chuỗi CHUYỂN ĐỔI MySQL thành nhân đôi
MySQL không hỗ trợ chuyển đổi sang kiểu dữ liệu kép. Bạn sẽ cần chuyển đổi chuỗi thành số thập phân.
mysql> select convert('2.134',decimal(4,3)); +-------------------------------+ | convert('2.134',decimal(4,3)) | +-------------------------------+ | 2.134 | +-------------------------------+
Chuỗi CHUYỂN ĐỔI MySQL thành Float
Một lần nữa, MySQL không hỗ trợ chuyển đổi sang kiểu dữ liệu dấu chấm động. Bạn sẽ cần chuyển đổi chuỗi thành số thập phân.
mysql> select convert('2.134',decimal(4,3)); +-------------------------------+ | convert('2.134',decimal(4,3)) | +-------------------------------+ | 2.134 | +-------------------------------+
Phần thưởng đã đọc:Cách tắt kiểm tra khóa ngoại trong MySQL
Chuỗi CHUYỂN ĐỔI MySQL thành int
Dưới đây là một ví dụ để MySQL chuyển đổi chuỗi 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('123' as signed); +------------------------+ | cast('123' as signed) | +------------------------+ | 1 | +------------------------+
CHUYỂN ĐỔI MySQL Ngày giờ đến nay
Đây là cách chuyển đổi datetime sang date. Bạn cũng có thể sử dụng nó để chuyển đổi dấu thời gian thành ngày tháng.
mysql> select convert('2020-08-01 13:00:00',date); +-------------------------------------+ | convert('2020-08-01 13:00:00',date) | +-------------------------------------+ | 2020-08-01 | +-------------------------------------+
Phần thưởng đọc:Cách kiểm tra phiên bản MySQL
MySQL CHUYỂN Blob thành văn bản
MySQL CONVERT không hỗ trợ chuyển đổi sang kiểu dữ liệu văn bản. Bạn cần chuyển đổi blog thành char. Đây là một ví dụ để chuyển đổi các đốm màu nhỏ thành char.
mysql> select convert('wewewwbwbddwg',char); +-------------------------------+ | convert('wewewwbwbddwg',char) | +-------------------------------+ | wewewwbwbddwg | +-------------------------------+
Hy vọng rằng bây giờ bạn có thể dễ dàng chuyển đổi dữ liệu trong MySQL.
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!