sql >> Databasteknik >  >> RDS >> Mysql

Gjut int till varchar

Du måste cast eller convert som en CHAR datatyp, det finns ingen varchar datatyp som du kan casta/konvertera data till:

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

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

Se följande SQL — i aktion — på 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;

Förutom det faktum att du försökte konvertera till en felaktig datatyp, syntaxen som du använde för convert var felaktig. convert funktionen använder följande där expr är din kolumn eller ditt värde:

 CONVERT(expr,type)

eller

 CONVERT(expr USING transcoding_name)

Din ursprungliga fråga hade syntaxen bakåt.



  1. Saker att veta om databasdrivna webbplatser

  2. Dåliga vanor :Räkna rader den hårda vägen

  3. Hur man hämtar radantalet för alla tabeller i en SQL SERVER-databas

  4. SQL - OM FINNS UPPDATERA ANNARS INSERT INTO