一尘不染

将int转换为varchar

mysql

我在下面的查询中,需要转换idvarchar

架构图

create table t9 (id int, name varchar (55));
insert into t9( id, name)values(2, 'bob');

我尝试了什么

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

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

但它们不起作用。请提出建议。


阅读 1026

收藏
2020-05-17

共1个答案

一尘不染

您将需要castconvert作为CHAR数据类型,没有varchar可以将数据强制转换/转换为以下数据的数据类型:

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

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

请参阅下面的SQL(实际上)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;

除了您试图转换为不正确的数据类型外,您所使用的语法也不convert正确。该convert函数使用以下列expr或值:

 CONVERT(expr,type)

要么

 CONVERT(expr USING transcoding_name)

您的原始查询的语法向后。

2020-05-17