ホームページ  >  記事  >  データベース  >  mysqlの文字列型変換

mysqlの文字列型変換

WBOY
WBOYオリジナル
2023-05-20 15:14:381072ブラウズ

MySQL は、さまざまなデータ型をサポートする、広く使用されているリレーショナル データベース管理システムです。その中でも、文字列型は非常に一般的なものです。日常のデータベース操作では文字列型の変換が必要になることがありますが、この記事では MySQL でよく使われる文字列型の変換操作を紹介します。

  1. CAST 関数と CONVERT 関数

CAST 関数と CONVERT 関数は、あるデータ型を別のデータ型に変換します。それらの構文は非常に似ていますが、いくつかの詳細が異なります。例:

CAST(expression AS type)

CONVERT(expression,type)

ここで、expression は変換される式または列、type は変換される式です。ターゲットのデータ型に変換する必要があります。例:

SELECT CAST('123' AS UNSIGNED);

SELECT CONVERT('123',UNSIGNED);

2 つのステートメントは同じ効果があります。文字列「123」を符号なし整数型に変換します。

  1. さまざまな文字列型間の変換

MySQL は複数の文字列型をサポートしています。型間の一般的な変換方法をいくつか示します:

2.1 文字列型を日付に変換するおよび時刻型

DATE、TIME、DATETIME 型は、日付と時刻の保存と操作に非常に便利です。 STR_TO_DATE 関数を使用して、文字列を日付または時刻型に変換できます。

例:

SELECT STR_TO_DATE('2022-01-01','%Y-%m-%d');

このステートメントの機能は次のとおりです。文字列を変換する 文字列「2022-01-01」をDATE型に変換します。

2.2 文字列型を列挙型に変換する

列挙型は、一部の固定値範囲に適した MySQL 固有の型です。

ENUM 関数を使用して、文字列型を列挙型に変換できます。

SELECT ENUM('green','red','blue');

このステートメントの機能は、文字列「green」を列挙型に変換することです。これは、性別や国などの固定オプションを格納するために一般的に使用されます。

2.3 文字列型をバイナリ型に変換する

バイナリ型は、画像や音声などのバイナリ データの保存に適しています。

HEX 関数を使用して文字列を 16 進数型に変換し、文字列からバイナリ型への変換を実現できます。例:

SELECT HEX('abc');

このステートメントの機能は、文字列 'abc' を 16 進数の型表現に変換することです。

  1. 一般的なエラーと解決策

文字列型の変換プロセス中に、いくつかのエラーが発生することがよくあります。ここでは、いくつかの一般的なエラーとその解決策を簡単に紹介します。

3.1 文字列に数値以外の文字が含まれている

文字列に数値以外の文字が含まれている場合、CAST 関数と CONVERT 関数を使用して文字列を数値型に変換すると、エラーが報告されます。 TRIM 関数を使用すると文字列からスペースを削除でき、REPLACE 関数を使用すると数値以外の文字を NULL 文字に置き換えることができます。

例:

SELECT CAST(REPLACE(TRIM(' 123abc '),' ','')AS UNSIGNED);

このステートメントの機能は次のとおりです。文字列「 123abc 」を符号なし整数型に変換します。

3.2 日付または時刻の形式が要件を満たしていません

日付または時刻の型の形式は MySQL の要件を満たしている必要があります。満たしていない場合はエラーが報告されます。関数 STR_TO_DATE を使用すると、正しい形式を指定して、文字列型をターゲットの日付または時刻型に変換できます。

例:

SELECT STR_TO_DATE('20220101', '%Y%m%d');

このステートメントの機能は、文字列「20220101」を変換することです。 ' を日付型に入力します。

この記事の導入を通じて、MySQL での文字列型変換の一般的な方法とエラー処理方法について学びました。これらの関数は、文字列型変換操作を迅速かつ効率的に完了し、データベース操作の効率を向上させるのに役立ちます。

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

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