Hướng dẫn hàm cast trong mysql
Trong bài này mình sẽ hướng dẫn cách sử dụng hàm Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. 1. Mô tảHàm 2. Cú phápCú pháp của hàm Trong đó: Bài viết này được đăng tại [free tuts .net]
3. VersionHàm
4. Ví dụmysql> SELECT CAST('2019-04-2' AS DATE); Ket qua: '2019-04-02' mysql> SELECT CAST('2019-04-2 09:15:50' AS DATETIME); Ket qua: '2019-04-02 09:15:50' mysql> SELECT CAST('09:15:50' AS TIME); Ket qua: '09:15:50' mysql> SELECT CAST(12345678 AS CHAR); Ket qua: '12345678' mysql> SELECT CAST(9-12 AS SIGNED); Ket qua: -3 mysql> SELECT CAST(9-12 AS UNSIGNED); Ket qua: 18446744073709551613 Hàm CAST trong MySQL / MariaDB chuyển đổi một giá trị hoặc biểu thức từ một kiểu dữ liệu này sang kiểu dữ liệu khác. Minh thấy hàm CAST so với hàm CONVERT chỉ khác nhau về cú pháp, còn chức năng thì giống nhau hoàn toàn, chưa thấy khác gì nhau. Trong đó: expr: biển thức hoặc giá trị cần chuyển đổi type[array]: kiểu dữ liệu mà bạn muốn chuyển đổi sang, [array] có thể hiểu là tùy chọn của kiểu dữ liệu Các kiểu dữ liệu
Một số ví dụVí dụ về kiểu CHAR. Nếu tùy chọn charater set không được khai báo thì kết quả trả về sẽ sử dụng character set và collation mặc định. Phần này nâng cao 1 chút mình sẽ nói ở cuối bài. Lưu ý cách sử dụng Quảng cáo
Ví dụ về kiểu DATETIME.
Ví dụ về kiểu DECIMAL. Nhìn ví dụ các bạn có thể thấy nếu độ dài phần nguyên lớn hơn m-d thì kết quả trả về bị sai. Nếu m không được khai báo thì phần nguyên có độ dài tối đa là 10
Character set và Collation mặc địnhTrong hàm CAST nếu bạn khai báo CHARACTER SET thì hàm sẽ sử dụng Collation mặc định của CHARATER SET đó Để xem collation mặc định của CHARACTER SET ta sử dụng lệnh
Nếu bạn không khai báo CHARACTER SET thì hàm sẽ sử dụng character set và collation từ biến hệ thống character_set_connection và collation_connection Ta sử dụng lệnh sau để kiểm tra character set và collation
Hoặc có thể dùng lệnh
Bài viết dựa trên MySQL Document và chạy trên MySQL 8.0.26 và MariaDB 10.2. Mong được các bạn đóng góp ý kiến để website ngày càng phát triển. |