Mysql
 sql >> Database >  >> RDS >> Mysql

Trasmetti int a varchar

Dovrai cast o convert come CHAR tipo di dati, non esiste varchar tipo di dati in cui puoi trasmettere/convertire i dati:

select CAST(id as CHAR(50)) as col1 
from t9;

select CONVERT(id, CHAR(50)) as colI1 
from t9;

Guarda il seguente SQL — in azione — su SQL Fiddle :

/*! Build Schema */
create table t9 (id INT, name VARCHAR(55));
insert into t9 (id, name) values (2, 'bob');

/*! SQL Queries */
select CAST(id as CHAR(50)) as col1 from t9;
select CONVERT(id, CHAR(50)) as colI1 from t9;

Oltre al fatto che stavi cercando di convertire in un tipo di dati errato, la sintassi che stavi usando per convert era errato. Il convert la funzione utilizza quanto segue dove expr è la tua colonna o valore:

 CONVERT(expr,type)

o

 CONVERT(expr USING transcoding_name)

La tua query originale aveva la sintassi al contrario.