以下のクエリがあり、キャストする必要がありid
ますvarchar
スキーマ
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;
しかし、動作しません。提案してください。
ベストアンサー1
必要となるのはcast
またはconvert
データ型として、データをキャスト/変換できるデータ型CHAR
はありません。varchar
select CAST(id as CHAR(50)) as col1
from t9;
select CONVERT(id, CHAR(50)) as colI1
from t9;
次のSQLの動作をここでご覧ください。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)
元のクエリの構文が逆になっています。