1. ホーム
  2. mysql

[解決済み] intをvarcharにキャストする

2022-06-17 12:37:33

質問

私は以下のクエリを持っており、キャストする必要があります。 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;

しかし、うまくいきません。 提案をお願いします。

どのように解決するのですか?

が必要になります。 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)

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