Làm cách nào để chuyển đổi một chuỗi thành số trong MySQL?

Khi một toán tử được sử dụng với các toán hạng thuộc các loại khác nhau, việc chuyển đổi loại xảy ra để làm cho các toán hạng tương thích. Một số chuyển đổi xảy ra ngầm. Ví dụ: MySQL tự động chuyển đổi chuỗi thành số khi cần thiết và ngược lại

mysql> SELECT 1+'1';
        -> 2
mysql> SELECT CONCAT[2,' test'];
        -> '2 test'

Cũng có thể chuyển đổi một số thành một chuỗi rõ ràng bằng hàm. Chuyển đổi xảy ra hoàn toàn với hàm vì nó mong đợi các đối số chuỗi

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'

Xem phần sau trong phần này để biết thông tin về bộ ký tự của chuyển đổi số thành chuỗi ẩn và để biết các quy tắc đã sửa đổi áp dụng cho câu lệnh

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
0

Các quy tắc sau mô tả cách chuyển đổi xảy ra đối với các hoạt động so sánh

  • Nếu một hoặc cả hai đối số là

    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    1, thì kết quả so sánh là
    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    1, ngoại trừ toán tử so sánh đẳng thức an toàn
    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    1. Đối với
    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    5, kết quả là true. Không cần chuyển đổi

  • Nếu cả hai đối số trong thao tác so sánh đều là chuỗi, thì chúng được so sánh dưới dạng chuỗi

  • Nếu cả hai đối số là số nguyên, chúng được so sánh là số nguyên

  • Giá trị thập lục phân được coi là chuỗi nhị phân nếu không được so sánh với một số

  • Nếu một trong các đối số là cột

    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    6 hoặc
    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    7 và đối số kia là hằng số, thì hằng số đó được chuyển đổi thành dấu thời gian trước khi thực hiện so sánh. Điều này được thực hiện để thân thiện hơn với ODBC. Điều này không được thực hiện cho các đối số để. Để an toàn, hãy luôn sử dụng chuỗi ngày giờ, ngày tháng hoặc thời gian hoàn chỉnh khi thực hiện so sánh. Ví dụ: để đạt được kết quả tốt nhất khi sử dụng với các giá trị ngày hoặc giờ, hãy sử dụng để chuyển đổi rõ ràng các giá trị sang loại dữ liệu mong muốn

    Truy vấn con một hàng từ một bảng hoặc nhiều bảng không được coi là hằng số. Ví dụ: nếu một truy vấn con trả về một số nguyên để so sánh với một giá trị

    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    7, thì việc so sánh được thực hiện dưới dạng hai số nguyên. Số nguyên không được chuyển đổi thành giá trị tạm thời. Để so sánh các toán hạng dưới dạng giá trị
    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    7, hãy sử dụng để chuyển đổi rõ ràng giá trị truy vấn con thành
    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    7

  • Nếu một trong các đối số là giá trị thập phân, so sánh phụ thuộc vào đối số khác. Các đối số được so sánh dưới dạng giá trị thập phân nếu đối số khác là giá trị số thập phân hoặc số nguyên hoặc dưới dạng giá trị dấu phẩy động nếu đối số khác là giá trị dấu phẩy động

  • Trong tất cả các trường hợp khác, các đối số được so sánh dưới dạng số dấu phẩy động [độ chính xác kép]. Ví dụ: so sánh toán hạng chuỗi và số diễn ra như so sánh số dấu phẩy động

Để biết thông tin về việc chuyển đổi giá trị từ loại tạm thời này sang loại tạm thời khác, hãy xem Phần 11. 2. 8, “Chuyển đổi giữa các loại ngày và giờ”

Các ví dụ sau minh họa việc chuyển đổi chuỗi thành số cho các hoạt động so sánh

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
2

Để so sánh cột chuỗi với số, MySQL không thể sử dụng chỉ mục trên cột để tra cứu giá trị nhanh chóng. Nếu

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
25 là một cột chuỗi được lập chỉ mục, chỉ mục không thể được sử dụng khi thực hiện tra cứu trong câu lệnh sau

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
4

Lý do cho điều này là có nhiều chuỗi khác nhau có thể chuyển đổi thành giá trị

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
26, chẳng hạn như
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
27,
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
28 hoặc
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
29

So sánh giữa các số dấu phẩy động và các giá trị lớn của loại

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
40 là gần đúng vì số nguyên được chuyển đổi thành dấu phẩy động có độ chính xác kép trước khi so sánh, không có khả năng biểu diễn chính xác tất cả các số nguyên 64 bit. Ví dụ: giá trị số nguyên 253 + 1 không thể biểu thị dưới dạng số float và được làm tròn thành 253 hoặc 253 + 2 trước khi so sánh số float, tùy thuộc vào nền tảng

Để minh họa, chỉ phép so sánh đầu tiên sau đây so sánh các giá trị bằng nhau, nhưng cả hai phép so sánh đều trả về giá trị đúng [1]

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
0

Khi chuyển đổi từ chuỗi sang dấu phẩy động và từ số nguyên sang dấu phẩy động xảy ra, chúng không nhất thiết xảy ra theo cùng một cách. Số nguyên có thể được chuyển đổi thành dấu phẩy động bởi CPU, trong khi chuỗi được chuyển đổi từng chữ số trong một phép toán liên quan đến phép nhân dấu phẩy động. Ngoài ra, kết quả có thể bị ảnh hưởng bởi các yếu tố như kiến ​​trúc máy tính hoặc phiên bản trình biên dịch hoặc mức độ tối ưu hóa. Một cách để tránh những vấn đề như vậy là sử dụng để một giá trị không được chuyển đổi hoàn toàn thành một số dấu phẩy động

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
1

Để biết thêm thông tin về phép so sánh dấu phẩy động, hãy xem Phần B. 3. 4. 8, “Các vấn đề với giá trị dấu phẩy động”

Máy chủ bao gồm

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
42, một thư viện chuyển đổi cung cấp cơ sở cho việc chuyển đổi được cải thiện giữa giá trị chuỗi hoặc giá trị
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
43 và số giá trị gần đúng [
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
44/
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
45]

  • Kết quả chuyển đổi nhất quán trên các nền tảng, giúp loại bỏ, ví dụ, sự khác biệt về chuyển đổi giữa Unix và Windows

  • Thể hiện chính xác các giá trị trong trường hợp các kết quả trước đó không cung cấp đủ độ chính xác, chẳng hạn như đối với các giá trị gần với giới hạn của IEEE

  • Chuyển đổi số sang định dạng chuỗi với độ chính xác tốt nhất có thể. Độ chính xác của

    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    42 luôn bằng hoặc tốt hơn độ chính xác của các hàm thư viện C tiêu chuẩn

Do các chuyển đổi do thư viện này tạo ra trong một số trường hợp khác với các kết quả không phải ____142, nên có khả năng xảy ra sự không tương thích trong các ứng dụng dựa trên các kết quả trước đó. Ví dụ: các ứng dụng phụ thuộc vào kết quả chính xác cụ thể từ các chuyển đổi trước đó có thể cần điều chỉnh để phù hợp với độ chính xác bổ sung

Thư viện

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
42 cung cấp các chuyển đổi với các thuộc tính sau.
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
49 đại diện cho một giá trị có
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
43 hoặc đại diện chuỗi và
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
01 đại diện cho số dấu phẩy động ở định dạng nhị phân gốc [IEEE]

  • Chuyển đổi

    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    01 ->
    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    49 được thực hiện với độ chính xác tốt nhất có thể, trả về
    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    49 là chuỗi ngắn nhất tạo ra
    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    01 khi đọc lại và làm tròn thành giá trị gần nhất ở định dạng nhị phân nguyên gốc như được chỉ định bởi IEEE

  • Chuyển đổi

    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    49 ->
    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    01 được thực hiện sao cho
    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    01 là số nhị phân gốc gần nhất với chuỗi thập phân đầu vào
    mysql> SELECT 38.8, CAST[38.8 AS CHAR];
            -> 38.8, '38.8'
    mysql> SELECT 38.8, CONCAT[38.8];
            -> 38.8, '38.8'
    
    49

Các thuộc tính này ngụ ý rằng các chuyển đổi

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
01 ->
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
49 ->
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
01 là không mất dữ liệu trừ khi
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
01 là
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
14,
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
15 hoặc
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
16. Các giá trị sau không được hỗ trợ vì tiêu chuẩn SQL xác định chúng là các giá trị không hợp lệ cho
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
44 hoặc
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
45

Đối với chuyển đổi

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
49 ->
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
01 ->
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
49, điều kiện đủ để không mất dữ liệu là
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
49 sử dụng độ chính xác từ 15 chữ số trở xuống, không phải là giá trị bất thường,
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
14,
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
15 hoặc
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
16. Trong một số trường hợp, việc chuyển đổi không mất dữ liệu ngay cả khi
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
49 có độ chính xác hơn 15 chữ số, nhưng điều này không phải lúc nào cũng đúng

Chuyển đổi ngầm định một giá trị số hoặc thời gian thành chuỗi tạo ra một giá trị có bộ ký tự và đối chiếu được xác định bởi các biến hệ thống và. [Các biến này thường được đặt với

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
79. Để biết thông tin về bộ ký tự kết nối, hãy xem Phần 10. 4, “Bộ ký tự kết nối và đối chiếu”. ]

Điều này có nghĩa là một chuyển đổi như vậy dẫn đến một chuỗi ký tự [không phải nhị phân] [giá trị

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
80,
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
81 hoặc
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
82], ngoại trừ trường hợp bộ ký tự kết nối được đặt thành
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
83. Trong trường hợp đó, kết quả chuyển đổi là một chuỗi nhị phân [giá trị
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
84,
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
85 hoặc
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
86]

Đối với các biểu thức số nguyên, các nhận xét trước về đánh giá biểu thức áp dụng hơi khác cho phép gán biểu thức;

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
7

Trong trường hợp này, bảng trong cột kết quả từ biểu thức có kiểu

mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
87 hoặc
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
88 tùy thuộc vào độ dài của biểu thức số nguyên. Nếu độ dài tối đa của biểu thức không vừa với một
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
87, thì thay vào đó, hãy sử dụng
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
88. Độ dài được lấy từ giá trị
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
21 của siêu dữ liệu tập kết quả
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
22 [xem Cấu trúc dữ liệu cơ bản của API C]. Điều này có nghĩa là bạn có thể buộc
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
88 thay vì
mysql> SELECT 38.8, CAST[38.8 AS CHAR];
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT[38.8];
        -> 38.8, '38.8'
87 bằng cách sử dụng một biểu thức đủ dài

Làm cách nào để chuyển đổi chuỗi thành số trong SQL?

TO_NUMBER chuyển đổi một chuỗi thành một số kiểu dữ liệu NUMERIC . TO_CHAR thực hiện thao tác ngược lại; . CAST và CONVERT có thể được sử dụng để chuyển đổi một chuỗi thành một số của bất kỳ loại dữ liệu nào. Ví dụ: bạn có thể chuyển đổi một chuỗi thành một số kiểu dữ liệu INTEGER.

Làm cách nào để chuyển đổi kiểu dữ liệu trong MySQL?

Hàm CONVERT[] của MySQL được sử dụng để chuyển đổi một giá trị từ một kiểu dữ liệu này sang một kiểu dữ liệu khác. Hàm CONVERT[] của MySQL cũng được sử dụng để chuyển đổi một giá trị từ bộ ký tự này sang bộ ký tự khác. Nó chấp nhận hai tham số là giá trị đầu vào và loại được chuyển đổi trong.

TO_NUMBER trong MySQL là gì?

Hàm TO_NUMBER chuyển đổi đối số của nó thành kiểu dữ liệu DECIMAL . Đối số có thể là biểu diễn chuỗi ký tự của một số hoặc một biểu thức số.

CAST[] trong MySQL là gì?

Hàm CAST[] chuyển đổi một giá trị [thuộc bất kỳ loại nào] thành kiểu dữ liệu đã chỉ định .

Chủ Đề