ホームページ データベース mysql チュートリアル MySQL で数値型を変換する方法

MySQL で数値型を変換する方法

Apr 20, 2023 am 10:11 AM

MySQL は、構造化データの保存によく使用される人気のリレーショナル データベース管理システムです。 MySQL では、数値型は頻繁に使用されるデータ型の 1 つですが、異なるシステムやデータ ソース間に存在する形式の違いにより、数値型を変換するときに問題が発生する可能性があります。この記事では、MySQL で数値型を変換する方法を紹介します。

まず、MySQL における一般的な数値データ型とそれに関連するプロパティを理解する必要があります。次の表は、MySQL でサポートされている数値データ型のリストです。

##FLOAT単精度浮動小数点数#DOUBLEDECIMAL

上記の表では、整数型はデータの格納にそれぞれ 1、2、3、4、および 8 バイトを使用し、浮動小数点型はデータの格納にそれぞれ 4 と 8 バイトを使用し、DECIMAL 型は 4 ~ 65 を使用します。セクションは、データを保存するための記憶領域が異なります。特定の記憶領域は、列定義で設定された小数点の数によって異なります。

次に、MySQL での数値型変換の一般的なシナリオについて説明します。

  1. 文字列を数値型に変換する

多くの場合、次に、ユーザーが入力した文字列を数値に変換して計算するなど、データベースに保存されている文字列を数値型に変換する必要があります。 MySQL では、CAST、CONVERT、または operator を使用して文字列を数値型に変換できます。

まず、CAST関数の使い方を見てみましょう。 CAST 関数は 2 つのパラメータを受け入れます。最初のパラメータは型変換する必要がある値で、2 番目のパラメータは変換する必要があるターゲット データ型です。たとえば、文字列 '123' を INT 型に変換するには、次のステートメントを使用できます。

SELECT CAST('123' AS INT);
ログイン後にコピー

文字列をターゲット データ型に変換できない場合は、NULL 値が返されます。

次に、CONVERT 関数の使用法を見てみましょう。 CONVERT 関数は 2 つのパラメーターも受け入れます。最初のパラメーターは型変換する必要がある値で、2 番目のパラメーターは変換する必要のあるターゲット データ型です。たとえば、文字列 '123' を DOUBLE 型に変換するには、次のステートメントを使用できます。

SELECT CONVERT('123', DOUBLE);
ログイン後にコピー

ここでは、ターゲット データ型は引用符で囲まれていませんが、SQL ステートメントに直接記述されています。 。文字列をターゲットのデータ型に変換できない場合は、0 が返されます。

最後に、operator を使用した型変換の使用法を見てみましょう。文字列を数値型に変換する場合、文字列とデータ型を追加できます。例:

SELECT '123' + 0;
ログイン後にコピー

ここでは、数値 0 に文字列 '123' を追加します。MySQL は自動的にその文字列を追加します。 「123」は数値型 123 に変換されます。

  1. 数値型を文字列型に変換する

多くの場合、数値をパラメーターとしてストレージ プロシージャまたは関数に渡すなど、数値型を文字列型に変換する必要があります。 MySQL では、CAST 関数または CONVERT 関数を使用して数値型を文字列型に変換できます。

まず、CAST関数の使い方を見てみましょう。 CAST 関数は 2 つのパラメータを受け入れます。最初のパラメータは型変換する必要がある値で、2 番目のパラメータは変換する必要があるターゲット データ型です。たとえば、数値 123 を文字列型に変換するには、次のステートメントを使用できます。

SELECT CAST(123 AS CHAR);
ログイン後にコピー

ここでは、数値 123 を CHAR 型の文字列に変換します。

次に、CONVERT 関数の使用法を見てみましょう。 CONVERT 関数は 2 つのパラメーターも受け入れます。最初のパラメーターは型変換する必要がある値で、2 番目のパラメーターは変換する必要のあるターゲット データ型です。たとえば、数値 123 を文字列型に変換するには、次のステートメントを使用できます。

SELECT CONVERT(123, CHAR);
ログイン後にコピー

ここでは、数値 123 を CHAR 型の文字列に変換します。

  1. データインポート時の数値型変換

データをインポートする際、ソースデータはCSVファイルやExcelファイルに保存されていることが多く、これらのファイル内のデータは多くの場合、文字列の形式で保存されます。データを MySQL にインポートする場合、これらの文字列データを MySQL でサポートされている数値データ型に変換する必要があります。

たとえば、MySQL の LOAD DATA INFILE コマンドを使用してデータをインポートする場合、SET 句を使用して各カラムのデータ型を指定できます。たとえば、次のデータを含むsample.csvという名前のファイルがあるとします:

"1001","John","Doe","30"
"1002","Jane","Doe","25"
ログイン後にコピー

次のコマンドを使用して、sales tableという名前のMySQLデータベースにデータをインポートできます:

LOAD DATA INFILE 'sample.csv'
INTO TABLE sales
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(@col1, @col2, @col3, @col4)
SET
    id = CAST(@col1 AS INT),
    first_name = @col2,
    last_name = @col3,
    age = CAST(@col4 AS INT)
;
ログイン後にコピー

ここでは、CAST 関数を使用して @col1 と @col4 を INT 型の数値に変換し、その値を id 列と age 列に挿入します。 first_name と last_name は文字列型の列であるため、型変換を行う必要はありません。

もちろん、CAST 関数に加えて、CONVERT 関数または operator を使用して、データのインポート時に数値型の変換を実行することもできます。

要約すると、MySQL で数値型の変換を実行する必要がある場合は、CAST、CONVERT、または operator を使用できます。データをインポートするとき、SET 句を使用して各列のデータ型を指定することもできます。これらの方法をマスターすることで、数値型データをより柔軟に処理し、ビジネス ニーズに適応させることができます。

#データ型 説明
#TINYINT 1 バイトの符号付き整数
SMALLINT 2 バイトの符号付き整数
MEDIUMINT 3 バイト符号付き整数
#INT 4 バイト符号付き整数
#BIGINT 8 バイト符号付き整数
倍精度浮動小数点数
固定精度10進数

以上がMySQL で数値型を変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

INNODBフルテキスト検索機能を説明します。 INNODBフルテキスト検索機能を説明します。 Apr 02, 2025 pm 06:09 PM

INNODBのフルテキスト検索機能は非常に強力であり、データベースクエリの効率と大量のテキストデータを処理する能力を大幅に改善できます。 1)INNODBは、倒立インデックスを介してフルテキスト検索を実装し、基本的および高度な検索クエリをサポートします。 2)一致を使用してキーワードを使用して、ブールモードとフレーズ検索を検索、サポートします。 3)最適化方法には、単語セグメンテーションテクノロジーの使用、インデックスの定期的な再構築、およびパフォーマンスと精度を改善するためのキャッシュサイズの調整が含まれます。

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Mar 19, 2025 pm 03:51 PM

この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

MySQLでインデックスを使用するよりも、フルテーブルスキャンがいつ速くなるのでしょうか? MySQLでインデックスを使用するよりも、フルテーブルスキャンがいつ速くなるのでしょうか? Apr 09, 2025 am 12:05 AM

完全なテーブルスキャンは、MySQLでインデックスを使用するよりも速い場合があります。特定のケースには以下が含まれます。1)データボリュームは小さい。 2)クエリが大量のデータを返すとき。 3)インデックス列が高度に選択的でない場合。 4)複雑なクエリの場合。クエリプランを分析し、インデックスを最適化し、オーバーインデックスを回避し、テーブルを定期的にメンテナンスすることにより、実際のアプリケーションで最良の選択をすることができます。

Windows 7にMySQLをインストールできますか? Windows 7にMySQLをインストールできますか? Apr 08, 2025 pm 03:21 PM

はい、MySQLはWindows 7にインストールできます。MicrosoftはWindows 7のサポートを停止しましたが、MySQLは引き続き互換性があります。ただし、インストールプロセス中に次のポイントに注意する必要があります。WindowsのMySQLインストーラーをダウンロードしてください。 MySQL(コミュニティまたはエンタープライズ)の適切なバージョンを選択します。インストールプロセス中に適切なインストールディレクトリと文字セットを選択します。ルートユーザーパスワードを設定し、適切に保ちます。テストのためにデータベースに接続します。 Windows 7の互換性とセキュリティの問題に注意してください。サポートされているオペレーティングシステムにアップグレードすることをお勧めします。

INNODBのクラスターインデックスと非クラスターインデックス(セカンダリインデックス)の違い。 INNODBのクラスターインデックスと非クラスターインデックス(セカンダリインデックス)の違い。 Apr 02, 2025 pm 06:25 PM

クラスター化されたインデックスと非クラスター化されたインデックスの違いは次のとおりです。1。クラスター化されたインデックスは、インデックス構造にデータを保存します。これは、プライマリキーと範囲でクエリするのに適しています。 2.非クラスター化されたインデックスストアは、インデックスキー値とデータの行へのポインターであり、非プリマリーキー列クエリに適しています。

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? 人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? Mar 21, 2025 pm 06:28 PM

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

MySQLの大きなデータセットをどのように処理しますか? MySQLの大きなデータセットをどのように処理しますか? Mar 21, 2025 pm 12:15 PM

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? Mar 19, 2025 pm 03:52 PM

この記事では、ドロップテーブルステートメントを使用してMySQLのドロップテーブルについて説明し、予防策とリスクを強調しています。これは、バックアップなしでアクションが不可逆的であることを強調し、回復方法と潜在的な生産環境の危険を詳述しています。

See all articles