intをvarcharにキャストする 質問する

intをvarcharにキャストする 質問する

以下のクエリがあり、キャストする必要があり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)

元のクエリの構文が逆になっています。

おすすめ記事