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 のデッドロック チェックとデッドロック除去の例の詳細な説明

1. クエリプロセスプロセスリストを表示2. 対応するプロセスを照会し、IDを強制終了します。検証(...

MySQL 8.0.20 のインストールと設定の詳細なチュートリアル

この記事では、MySQL 8.0.20のインストールと設定方法についての詳細なチュートリアルを参考ま...

MySQL における IF()、IFNULL()、NULLIF()、および ISNULL() 関数の使用に関する詳細な説明

MySQL では、IF()、IFNULL()、NULLIF()、および ISNULL() 関数を使用...

中国語フォントの英語名まとめ

CSS の font-family プロパティを使用して中国語フォントを参照する場合、フォントを定義...

MySQL でのログインを取り消す

コンセプト紹介: MySQL の redo ログにはトランザクションの動作が記録されることはご存じの...

ZFS とは何か? ZFS を使用する理由とその機能

ZFSの歴史Z ファイル システム (ZFS) は、2001 年に Matthew Ahrens と...

Vue ショッピングカートのケーススタディ

目次1. ショッピングカートの例2. コードの実装3. まとめ1. ショッピングカートの例一連の学習...

画像ボタン送信とフォーム繰り返し送信の問題に関する議論

多くの場合、フォームを美しくするために、送信ボタンが画像に置き換えられます。ただし、細部に注意を払わ...

CSS 要約ノート: 変換、遷移、アニメーションの例

1.移行遷移プロパティの使用法: transition :transition-property t...

JSでユーザーを追跡する方法

目次1. 同期AJAX 2. 非同期AJAX 3. ユーザーのクリックを追跡する4. リバウンドトラ...

js におけるイベントバブリングとイベントキャプチャの簡単な分析

目次01-イベントバブリング1.1- イベントバブリングの概要1.2-イベントバブリングの利用(イベ...

MySQLは現在の日付と時刻を取得する関数

現在の日付 + 時刻 (日付 + 時刻) を取得する関数: now() mysql> now(...

Vue.js での $emit の使用に関する詳細な説明

1. 親コンポーネントは props を使用して子コンポーネントにデータを渡すことができます。 2....

mysql 5.7.19 最新バイナリインストール

まず、公式ウェブサイト http://dev.mysql.com/downloads/mysql/ ...