Bản tóm tắt. trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng hàm MySQL CAST để chuyển đổi một giá trị thuộc bất kỳ loại nào thành một giá trị có loại được chỉ định
Giới thiệu về chức năng MySQL CAST
Cú pháp của hàm MySQL CAST[]
như sau
Code language: SQL [Structured Query Language] [sql]
CAST[expression AS TYPE];
Hàm CAST[]
chuyển đổi một giá trị thuộc bất kỳ loại nào thành một giá trị có loại được chỉ định. Loại mục tiêu có thể là bất kỳ một trong các loại sau. BINARY
,
0,Code language: SQL [Structured Query Language] [sql]
SELECT [1 + '1']/2;
1,Code language: SQL [Structured Query Language] [sql]
SELECT [1 + '1']/2;
2,Code language: SQL [Structured Query Language] [sql]
SELECT [1 + '1']/2;
3,Code language: SQL [Structured Query Language] [sql]
SELECT [1 + '1']/2;
4,Code language: SQL [Structured Query Language] [sql]
SELECT [1 + '1']/2;
5,Code language: SQL [Structured Query Language] [sql]
SELECT [1 + '1']/2;
6Code language: SQL [Structured Query Language] [sql]
SELECT [1 + '1']/2;
Hàm CAST[]
thường được sử dụng để trả về một giá trị với một loại được chỉ định để so sánh trong các mệnh đề WHERE, JOIN và HAVING
Hãy cùng xem một số ví dụ về việc sử dụng hàm CAST[]
Ví dụ về chức năng MySQL CAST
Trong ví dụ sau, MySQL chuyển đổi hoàn toàn một chuỗi thành một số nguyên trước khi thực hiện phép tính
Code language: SQL [Structured Query Language] [sql]
SELECT [1 + '1']/2;
Để chuyển đổi rõ ràng một chuỗi thành một số nguyên, bạn sử dụng hàm CAST[]
như câu lệnh sau
Code language: SQL [Structured Query Language] [sql]
SELECT [1 + CAST['1' AS UNSIGNED]]/2;
Câu lệnh sau đây chuyển đổi một cách rõ ràng một số nguyên thành một chuỗi và nối chuỗi này với một chuỗi khác
Code language: SQL [Structured Query Language] [sql]
SELECT CONCAT['MySQL CAST example #',CAST[2 AS CHAR]];
Hãy xem bảng
0 trong cơ sở dữ liệu mẫuCode language: SQL [Structured Query Language] [sql]
SELECT [1 + CAST['1' AS UNSIGNED]]/2;
Xem truy vấn sau
Code language: SQL [Structured Query Language] [sql]
SELECT orderNumber, requiredDate FROM orders WHERE requiredDate BETWEEN '2003-01-01' AND '2003-01-31';
Truy vấn chọn các đơn đặt hàng có ngày bắt buộc là tháng 1 năm 2003. Kiểu dữ liệu của cột
1 làCode language: SQL [Structured Query Language] [sql]
SELECT [1 + CAST['1' AS UNSIGNED]]/2;
1, do đó, MySQL phải chuyển đổi các chuỗi ký tự.Code language: SQL [Structured Query Language] [sql]
SELECT [1 + '1']/2;
3 vàCode language: SQL [Structured Query Language] [sql]
SELECT [1 + CAST['1' AS UNSIGNED]]/2;
4 thành các giá trị DẤU THỜI GIAN trước khi đánh giá điều kiệnCode language: SQL [Structured Query Language] [sql]
SELECT [1 + CAST['1' AS UNSIGNED]]/2;
5Code language: SQL [Structured Query Language] [sql]
SELECT [1 + CAST['1' AS UNSIGNED]]/2;
Tuy nhiên, để an toàn, bạn có thể sử dụng hàm CAST[]
để chuyển một chuỗi thành giá trị
7 một cách rõ ràng như sauCode language: SQL [Structured Query Language] [sql]
SELECT [1 + CAST['1' AS UNSIGNED]]/2;
Code language: SQL [Structured Query Language] [sql]
SELECT orderNumber, requiredDate FROM orders WHERE requiredDate BETWEEN CAST['2003-01-01' AS DATETIME] AND CAST['2003-01-31' AS DATETIME];
Câu lệnh sau chuyển đổi giá trị
8 thành giá trịCode language: SQL [Structured Query Language] [sql]
SELECT [1 + CAST['1' AS UNSIGNED]]/2;
0 và sử dụng kết quả làm đối số của hàm CONCATCode language: SQL [Structured Query Language] [sql]
SELECT [1 + '1']/2;
Code language: SQL [Structured Query Language] [sql]
SELECT productName, CONCAT['Prices[', CAST[buyprice AS CHAR], ',', CAST[msrp AS CHAR], ']'] prices FROM products;
Trong hướng dẫn này, bạn đã học cách sử dụng hàm CAST[]
của MySQL để chuyển đổi một giá trị có kiểu bất kỳ thành giá trị có kiểu xác định