castデータ型として、またはデータ型convertとして、データをキャスト/変換できるデータ型CHARはありません。varchar
select CAST(id as CHAR(50)) as col1
from t9;
select CONVERT(id, CHAR(50)) as colI1
from t9;
SQL Fiddleで、次のSQLの動作を確認してください。
/*! 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)
元のクエリの構文は逆になっています。