ホームページ > データベース > mysql チュートリアル > SQL で整数を文字列 (varchar) に正しくキャストするにはどうすればよいですか?

SQL で整数を文字列 (varchar) に正しくキャストするにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-24 18:45:10
オリジナル
749 人が閲覧しました

How to Correctly Cast an Integer to a String (varchar) in SQL?

SQL で整数を文字列 (varchar) に変換します

多くのアプリケーションでは、整数データ型を文字列、特に varchar 型に変換する必要があります。この記事では、SQL で int を varchar に変換するいくつかの方法を紹介します。

何が問題ですか?

ユーザーが次のクエリを実行して int を varchar に変換しようとしました:

<code class="language-sql">select CAST(id as VARCHAR(50)) as col1 from t9;

select CONVERT(VARCHAR(50),id) as colI1 from t9;</code>
ログイン後にコピー

これらのクエリではエラーが発生します。

解決策は何ですか?

int を varchar に変換するには、VARCHAR データ型の代わりに CHAR データ型を使用する必要があります。次のクエリは機能します:

<code class="language-sql">select CAST(id as CHAR(50)) as col1 from t9;

select CONVERT(id, CHAR(50)) as colI1 from t9;</code>
ログイン後にコピー

なぜこのソリューションが機能するのでしょうか?

CHAR データ型は固定長の文字列データ型であり、VARCHAR は可変長の文字列データ型です。 int を CHAR に変換すると、int は指定された長さの文字列に変換され、残りの文字にはスペースが埋め込まれます。

一方、VARCHAR データ型は可変長の文字列データ型であり、文字列の長さが変化する可能性があることを意味します。 int を VARCHAR に変換すると、int は文字列に変換され、文字列の長さは int の長さによって決まります。

追加メモ

CAST 関数を使用する場合の構文は次のとおりです:

<code class="language-sql">CAST(expr AS data_type)</code>
ログイン後にコピー

ここで、 expr は変換される式、 data_type は変換されるデータ型です。

CONVERT 関数を使用する場合の構文は次のとおりです:

<code class="language-sql">CONVERT(expr, data_type)</code>
ログイン後にコピー

または

<code class="language-sql">CONVERT(expr USING transcoding_name)</code>
ログイン後にコピー

ここで、 expr は変換される式、 data_type は変換されるデータ型、 transcoding_name は変換メソッドの名前です。

以上がSQL で整数を文字列 (varchar) に正しくキャストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート