CAST()
sembra funzionare solo per BINARY, CHAR, DATE; DATETIME, DECIMAL, TIME, SIGNED, UNSIGNED.Come posso trasmettere un tipo a un bigint in MySQL?
Ho bisogno di convertire una stringa esadecimale a un bigint, cioè, vorrei:
SELECT CAST(CONV("55244A5562C5566354',16,10) AS BIGINT)
CONV() restituisce una stringa, quindi è per questo che sto cercando il convertirlo. Ho 2 usi per questo
Inserimento di dati, ad es.
INSERT INTO a(foo) SELECT CONV(bar,16,10) FROM ...
Qui foo è una colonna bigint, bar un varchar. Forse potrei farla franca con l'istruzione select (?)Il ritorno dei dati in cui il client impara in modo dinamico il tipo di dati della colonna,
SELECT CONV(bar,16,10)
non è valido in quanto il client gestirlo come una stringa.
In modo che lo converte in un bigint/qualunque? Non devo preoccuparmi di traboccare un intero "normale"? – Anonym
@Anonimo: in '5.1',' CAST ... AS UNSIGNED' restituisce sempre un 'BIGINT'. – Quassnoi
È documentato ovunque? – will