MySQL でよく使われる型変換関数の概要 (推奨)

MySQL でよく使われる型変換関数の概要 (推奨)

1. Concat関数。

よく使用される接続文字列: concat 関数。たとえば、SQLクエリ条件のlikeクエリ、AND c.name like concat(#{param.name},'%')

concat関数はIntをvarcharに変換するためによく使用されます。たとえば、concat(8,'0')は文字列'80'を取得します。

2. キャスト関数、CONVERT 関数。

使用法: CAST(expr AS type)、CONVERT(expr,type)、CONVERT(expr USING transcoding_name)。

CONVERT('abc' USING utf8)を選択します。

cast(str as unsigned) を使用して varchar を Int に変換します。str は varchar 型の文字列です。

たとえば、よく使われるパーセンテージ変換は次のようになります。

デュアルから、cast((1/3)*100 as UNSIGNED) をパーセントとして選択します。

結果: 33

MySQL 型変換関数のパラメータ: CAST(xxx AS type)、CONVERT(xxx, type)
タイプは次のいずれかの値になります。
バイナリ[(N)]
CHAR[(N)]
日付
日時
小数点
符号付き[整数]
時間
符号なし[整数]

整数: SIGNED
符号なし整数: UNSIGNED
バイナリ、バイナリ接頭辞付き: BINARY
文字型、パラメータを取ることができます: CHAR()
日付: 日付
時間: 時間
日付と時刻のタイプ: DATETIME
浮動小数点数: DECIMAL

mysql> SELECT BINARY 'a' = 'A';

    -> 0

3. IF関数

mysqlではifはコマンドではなく関数です

IF(式1,式2,式3)
expr1 が true (expr1 <> 0 かつ expr1 <> NULL) の場合、IF() は expr2 を返し、それ以外の場合は expr3 を返します。 IF() は、使用されるコンテキストに応じて数値または文字列を返します。

mysql> SELECT IF(1>2,2,3);
  -> 3
mysql> SELECT IF(1<2,'はい','いいえ');
  ->「はい」
mysql> SELECT IF(STRCMP('test','test1'),'no','yes');
  -> 'いいえ'

expr2 または expr3 が明示的に NULL の場合、IF() 関数の戻り値の型は NULL 以外の列の型になります。 (このオプションは MySQL 4.0.3 で新しく追加されました)。 expr1 は整数値として評価されます。つまり、浮動小数点値または文字列値がテストされる場合は、比較を実行する必要があります。

mysql> SELECT IF(0.1,1,0);
 -> 0
mysql> SELECT IF(0.1<>0,1,0);
 -> 1

上記の最初のケースでは、0.1 が整数値に変換され、IF(0) のテストの結果が返されるため、IF(0.1) は 0 を返します。これはあなたが期待するものではないかもしれません。 2 番目のケースでは、比較によって元の浮動小数点数がゼロ以外の値であるかどうかがテストされます。比較の結果は整数として使用されます。 デフォルトの IF() 戻り値の型 (結果が一時テーブルに格納される場合に重要) は、MySQL 3.23 では次のように決定されます。

式(expr2)または式(expr3)は文字列文字列を返します

式 (expr2) または式 (expr3) は浮動小数点値を返します。

式 (expr2) または式 (expr3) は整数を返します。

expr2 と expr3 の両方が文字列であり、両方の文字列が大文字と小文字を区別しない場合は、戻り値も大文字と小文字を区別しません (MySQL 3.23.51 以降)。

上記は、私が皆さんに紹介した、よく使われるMySQLの型変換関数のまとめです。皆さんのお役に立てれば幸いです。ご質問があれば、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • MySQLの暗黙的な変換問題の解決
  • MySQLの暗黙的な型変換の概要
  • MySQL の暗黙的な型変換の罠とルール
  • MySQL 時間差関数 (TIMESTAMPDIFF、DATEDIFF)、日付変換計算関数 (date_add、day、date_format、str_to_date)
  • Python を使用して MySQL データベースのデータを JSON データに変換する方法
  • MySQL の日付関数と日付変換およびフォーマット関数
  • MySQLの明示的な型変換の簡単な分析
  • MySQL NULLデータ変換方法(必読)
  • MySQLの暗黙的な変換について話す

<<:  Reactでパスワード強度検出器を実装する方法

>>:  DockerでHadoopを実行しイメージを作成する方法

推薦する

MySQLデータベースに画像を保存するいくつかの方法

通常、ユーザーがアップロードした写真はデータベースに保存する必要があります。一般的に、解決策は 2 ...

Winにmysqlをインストールする詳細な手順

この記事では、参考までにWinにmysqlをインストールする詳細な手順を紹介します。具体的な内容は次...

CentOS8でのDockerの使い方の詳しい説明

1. CentOS8でのDockerのインストール カール https://download.doc...

フローチャートとUIフローの違い

UI デザインにおける多くの概念は言葉で言えば似ているように見えるかもしれませんが、実際には大きく異...

Unicode の数学記号の概要

数学、物理学、および一部の科学技術分野で使用される特殊記号は多数あります。Unicode コードには...

MySql バッチ挿入の最適化 SQL 実行効率の例の詳細な説明

MySql バッチ挿入の最適化 SQL 実行効率の例の詳細な説明itemcontractprice ...

Vue プロジェクト @change 複数のパラメータを使用して複数のイベントを渡す

まず、変更イベントは 1 つだけです。 changelevel() //値を選択選択を変更して行の値...

JS を使用して配列内の要素の存在を 10 分で判断する

序文フロントエンド開発では、配列内に要素が存在するかどうかを判断する必要があることがよくあります。実...

WeChatアプレットが計算機機能を実装

WeChatミニプログラムはますます人気が高まっています。多くの大学生が独学で学んでいるのも見てきま...

入力[type=file]の起動が遅くて動かなくなる問題を素早く解決します

入力タグタイプがファイルで、タグ内にaccpet="image/*"属性が設定さ...

高性能ウェブサイトの最適化ガイド

パフォーマンスの黄金律:エンドユーザーの応答時間のわずか 10% ~ 20% が HTML ドキュメ...

CSS3 は反転可能なホバー効果を実現します

CSS3 は反転可能なホバー効果を実装します。具体的なコードは次のとおりです。 1.css /*基本...

表示しているページのスナップショットを Baidu が保存できないように設定する方法

今日、Baidu でページを検索したところ、ページが削除されていたため、当然 Baidu スナップシ...

JavaScript モバイル H5 画像生成ソリューションの説明

現在、WeChatパブリックアカウントの運用活動が多く、写真を生成する必要があります。生成された写真...

vue3+electron12+dll 開発のためのクライアント構成の詳細な説明

目次リポジトリソースを変更する起動するvue-devtoolsを置き換える予防ボーダーレスウィンドウ...