我有下面的问题,需要投idvarchar

Schema

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

What I tried

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

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

但它们不起作用.请建议.

推荐答案

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

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

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

请参见以下SQL-in-action-over at 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)

Your 或iginal query had the syntax backwards.

Mysql相关问答推荐

金融交易的交易隔离级别

MySQL嵌套的内连接使查询变得很慢-解决方案?

Mysql 查询返回未定义的 node.js

是否可以使用以EXPLAIN EXTENDED ...开头的 SQL 语句修改数据?

使用适配器设计模式和外观设计模式实现

相关查询 - 在派生表中,我可以有多个嵌套级别吗?

Django中的MYSQL查询等效

在分组结果 MySQL 5.7 版中获取最多的重复值

总行大小不超过 65535,但我得到行大小太大.所用表类型的最大行大小,不包括 BLOB,是 65535错误

MySQL在定义表的位置后抛出错误

在 MySQL 中为多列创建索引以进行查询优化

WHERE SQL 语句中的列顺序是否重要

mysql 5.5;可以从记录中排除表吗?

DECIMAL(m, n) 在 64 位系统中如何表示?

错误 1396 (HY000): 'user'@'localhost' 的操作 DROP USER 失败

如何在 Laravel 5.1 中获取数据库中的表列表

字符ي和ی以及波斯语的区别 - Mysql

如何在特定数据库中创建表?

在 Mac 上设置 Laravel php artisan migrate 错误:没有这样的文件或目录

在 MySQL Workbench 中导出超过 1000 条记录的查询结果