select CAST(id as CHAR(50)) as col1
from t9;
select CONVERT(id, CHAR(50)) as colI1
from t9;
请参阅SQL Fiddle上的以下SQL - in action - over:
/*! 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;
8条答案
按热度按时间5n0oy7gb1#
您需要将
cast
或convert
作为CHAR
数据类型,没有可以将数据转换/转换为的varchar
数据类型:请参阅SQL Fiddle上的以下SQL - in action - over:
除了您尝试转换为不正确的数据类型之外,您对
convert
使用的语法也不正确。convert
函数使用以下语法,其中expr
是您的列或值:或
原始查询的语法颠倒了。
lvmkulzt2#
因为
VARCHAR
不是有效的转换类型,根据MySQL文档(http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html#function_cast),只能转换为:我认为最好的办法是使用
CHAR
。rsaldnfx3#
是的
是postgresql,但mySql不允许这样做!
mySql中快捷方式:
8nuwlpux4#
我没有MySQL,但有RDBMS(Postgres等),你可以在其中使用黑客
串连会执行隐含转换。
anauzrmj5#
我解决了一个问题,比较一个整数列x和一个
varchar
列where CAST(Column_name AS CHAR CHARACTER SET latin1 ) collate latin1_general_ci = varchar_column_name
个jpfvwuh46#
用途:
dgsult0t7#
我将以一般性的方式回答这个问题,并非常感谢上述贡献者。
我在MySQL Workbench上使用MySQL。我在尝试使用
GROUP_CONCAT
方法将char
和int
连接在一起时遇到了类似的问题。总之,对我有效的方法是:假设您的
char
是'c',int
是'i',那么,查询变成:...GROUP_CONCAT(CONCAT(c,' ', CAST(i AS CHAR))...
6ojccjat8#
也应该可以这样做: