Hướng dẫn mysql cast to bigint - mysql truyền sang bigint

21

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

SELECT CAST(CONV('55244A5562C5566354',16,10) AS UNSIGNED INTEGER);
0 dường như chỉ hoạt động cho nhị phân, char, ngày; DateTime, thập phân, thời gian, đã ký, không dấu.

Tôi cần chuyển đổi chuỗi Hex thành Bigint, nghĩa là tôi muốn:

SELECT CAST(CONV("55244A5562C5566354',16,10) AS BIGINT)

Conv () trả về một chuỗi, vì vậy đó là lý do tại sao tôi đang thử chuyển đổi nó. Tôi có 2 lần sử dụng cho việc này

  • Chèn dữ liệu, ví dụ:

    SELECT CAST(CONV('55244A5562C5566354',16,10) AS UNSIGNED INTEGER);
    
    1 Ở đây Foo là một cột lớn, Bar A Varchar. Có lẽ tôi có thể thoát khỏi câu lệnh Chọn là một chuỗi và để MySQL chăm sóc nó (?)

  • Trả về dữ liệu trong đó máy khách sẽ tự động tìm hiểu loại dữ liệu của cột,

    SELECT CAST(CONV('55244A5562C5566354',16,10) AS UNSIGNED INTEGER);
    
    2 không tốt vì máy khách sẽ xử lý nó dưới dạng chuỗi.

Hỏi ngày 11 tháng 1 năm 2011 lúc 17:13Jan 11, 2011 at 17:13

Hướng dẫn mysql cast to bigint - mysql truyền sang bigint

SELECT CAST(CONV('55244A5562C5566354',16,10) AS UNSIGNED INTEGER);

Đã trả lời ngày 11 tháng 1 năm 2011 lúc 17:19Jan 11, 2011 at 17:19

QuassnoiquassnoiQuassnoi

403K89 Huy hiệu vàng606 Huy hiệu bạc607 Huy hiệu đồng89 gold badges606 silver badges607 bronze badges

7

Hình như có vấn đề gì thì phải? Tôi đã thử nghiệm chuyển đổi này cả trên hệ thống 64 bit và 32 bit. Hoạt động tốt. Lưu ý rằng, thay vì thực hiện chuyển đổi hex sang bin, bạn chỉ có thể coi số này là thập lục phân.

mysql> SELECT CAST(X'55244A5562C5566354' AS UNSIGNED);
+-----------------------------------------+
| CAST(X'55244A5562C5566354' AS UNSIGNED) |
+-----------------------------------------+
|                     2614996416347923284 |
+-----------------------------------------+
1 row in set (0.00 sec)

Đã trả lời ngày 11 tháng 1 năm 2011 lúc 17:25Jan 11, 2011 at 17:25

Vartecvartecvartec

128K36 Huy hiệu vàng213 Huy hiệu bạc242 Huy hiệu Đồng36 gold badges213 silver badges242 bronze badges

3


Làm cách nào để thay đổi mặc định cột bảng MySQL?

Bạn cần sử dụng toán tử đúc cùng với hàm conv (). Hàm Conv () có thể được sử dụng để chuyển đổi một hệ thống số cơ sở sang hệ thống cơ sở khác.

Ví dụ, 16 là một hệ thống cơ sở và 10 là một hệ thống cơ sở khác. Hệ thống 16 cơ sở là thập lục phân và 10 là một số thập phân.

SELECT CAST(CONV('yourColumnName',16,10) AS UNSIGNED INTEGER) as anyAliasName FROM yourTableName;

Cú pháp như sau -

mysql> create table castTypeToBigIntDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,  
   -> Value varchar(100),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.19 sec)

Để hiểu cú pháp trên, chúng ta hãy tạo bảng. Truy vấn để tạo bảng như sau -

mysql> insert into castTypeToBigIntDemo(Value) values('AB5');
Query OK, 1 row affected (0.13 sec)
mysql> insert into castTypeToBigIntDemo(Value) values('55244A5562C5566354');
Query OK, 1 row affected (0.15 sec)
mysql> insert into castTypeToBigIntDemo(Value) values('4546575765ABD78');
Query OK, 1 row affected (0.15 sec)
mysql> insert into castTypeToBigIntDemo(Value) values('5979787DEFAB');
Query OK, 1 row affected (0.19 sec)
mysql> insert into castTypeToBigIntDemo(Value) values('86868686856ABD');
Query OK, 1 row affected (0.17 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh CHỌN. Truy vấn như sau -

mysql> select *from castTypeToBigIntDemo;

Sau đây là đầu ra -

+----+--------------------+
| Id | Value              |
+----+--------------------+
|  1 | AB5                |
|  2 | 55244A5562C5566354 |
|  3 | 4546575765ABD78    |
|  4 | 5979787DEFAB       |
|  5 | 86868686856ABD     |
+----+--------------------+
5 rows in set (0.00 sec)

Dưới đây là truy vấn để chọn một loại vào một bigint trong mysql -

mysql> SELECT CAST(CONV(Value,16,10) AS UNSIGNED INTEGER) as BigNumber from castTypeToBigIntDemo;

Sau đây là đầu ra -

+----------------------+
| BigNumber            |
+----------------------+
| 2741                 |
| 18446744073709551615 |
| 311985829366644088   |
| 98378247434155       |
| 37865559219858109    |
+----------------------+
5 rows in set, 1 warning (0.00 sec)

Hướng dẫn mysql cast to bigint - mysql truyền sang bigint

Dưới đây là truy vấn để chọn một loại vào một bigint trong mysql -

  • Cập nhật vào ngày 30 tháng 3 năm 2019 22:30:25
  • Câu hỏi và câu trả lời liên quan
  • Một loại đúc trong c/c ++ là gì?
  • Làm cách nào để xóa cơ sở dữ liệu MySQL?
  • Làm cách nào để chuyển một biến cho tập lệnh MySQL?
  • Sự khác biệt giữa Bigint và Bigint (20) trong MySQL?
  • Làm cách nào để tạo chế độ xem trong mysql?
  • Làm thế nào để đúc DateTime như một ngày trong MySQL?
  • C# chương trình để chuyển một loại vào ienumereales của nó tương đương
  • Làm cách nào để thêm nhiều thành viên vào cột enum - gõ của tôi trong mysql?
  • Làm cách nào để thêm một ràng buộc kiểm tra vào bảng trong MySQL?
  • Làm thế nào để hiểu nếu một bigint được ký hoặc không dấu trong MySQL?
  • Làm cách nào để chèn một giá trị null trong mysql?
  • Làm cách nào để loại trừ một bản ghi cụ thể trong MySQL?
  • Làm cách nào để thả một khóa chính trong MySQL?
  • Làm cách nào để sửa đổi cột MySQL để cho phép null?