CAST()
dường như chỉ hoạt động với BINARY, CHAR, DATE; DATETIME, DECIMAL, TIME, SIGNED, UNSIGNED.Làm cách nào để truyền một loại cho một bigint trong MySQL?
tôi cần phải chuyển đổi một chuỗi hex để một bigint, có 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 cố gắng sự chuyển đổi nó. Tôi có 2 cách sử dụng cho số điện thoại
Chèn dữ liệu này, ví dụ:
INSERT INTO a(foo) SELECT CONV(bar,16,10) FROM ...
Ở đây foo là một cột bigint, thanh một varchar. Có lẽ tôi có thể thoát khỏi câu lệnh chọn là một chuỗi và để cho MySQL xử lý nó (?)Trả về dữ liệu mà khách hàng sẽ tự động tìm hiểu kiểu dữ liệu của cột,
SELECT CONV(bar,16,10)
không tốt bằng cách khách hàng sẽ xử lý nó như một chuỗi.
Vì vậy, chuyển đổi nó thành bigint/sao? Tôi không phải lo lắng về việc tràn một số nguyên "bình thường"? – Anonym
@Anonym: trong '5.1',' CAST… AS UNSIGNED' luôn dẫn đến 'BIGINT'. – Quassnoi
Tài liệu đó có ở bất kỳ đâu không? – will