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における遅いSQLの最適化の方向性について詳しく話しましょう

目次序文SQL文の最適化遅いクエリSQLを記録する設定を変更する方法スロークエリログを表示するSQL...

ネイティブ JavaScript 継承方法とその長所と短所の詳細な説明

目次序文プロトタイプ継承アドバンテージ欠点コンストラクタの継承アドバンテージ欠点組み合わせ継承寄生的...

cocoscreatorプレハブの詳しい説明

目次プレハブプレハブの作り方プレハブの役割1. 同じタイプのノードをバッチで作成する2. 特定の時間...

Ubuntu 20.04 Firefox でビデオを再生できない (Flash プラグインがない) 場合の解決策

1. Flashプラグインパッケージのダウンロードアドレス: https://get.adobe.c...

MySQL トランザクションの概念と使用法の詳細な説明

目次情事の概念取引の状態取引の役割取引の特徴トランザクション構文トランザクション対応ストレージエンジ...

Nginx リクエスト制限の設定方法

Nginx は、多くの優れた機能を備えた強力で高性能な Web およびリバース プロキシ サーバーで...

ウェブページ HTML 特殊記号 HTML 特殊文字比較表

特殊記号名前付きエンティティ10進数エンコード特殊記号名前付きエンティティ10進数エンコードアルファ...

MySQL カーソルの概念と使用法の詳細な説明

この記事では、例を使用して MySQL カーソルの概念と使用方法を説明します。ご参考までに、詳細は以...

CSS のオーバーフロー:hidden エラーの解決方法

失敗の原因今日、カルーセルを書いていたときに、overflow;hidden; が失敗する可能性があ...

Bootstrap Webページレイアウトグリッドの実装

目次1. Bootstrapグリッドシステムの仕組み1.1 12グリッドシステム1.2 Bootst...

HTML でフレームセット タグを使用するチュートリアル

フレームセット ページは通常の Web ページとは多少異なります。依然として <HTML>...

HTML の基本 - CSS スタイルシート、スタイル属性、フォーマット、レイアウトの詳細

1.位置:固定一部の Web サイトの右下隅にあるポップアップ ウィンドウなどの、ブラウザーを基準と...

Centos8 (最小インストール) Python3.8+pip のインストール方法に関するチュートリアル

Python8のインストールを最小化した後、Python3.8.1をインストールしました。オンライン...

MySQLのバッファプールの詳細な説明

MySQL のデータはディスクに書き込む必要があることは誰もが知っています。ディスクの読み取りと書き...

MySQL インデックスの原理と最適化の詳細な説明

序文この記事は Meituan の大物によって書かれました。とても素晴らしいので、皆さんと共有したい...