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を実行しイメージを作成する方法

推薦する

変換を使用して純粋な CSS ポップアップ メニューを実装するためのサンプル コード

序文トップメニューを作成する場合、ポップアップのセカンダリメニューを作成する必要があります。 以前の...

Nginx http ヘルスチェック構成プロセス分析

パッシブチェックパッシブ ヘルス チェックでは、NGINX と NGINX Plus はイベントの発...

Vue2.0は適応解像度を実装する

この記事では、適応解像度を実現するためのVue2.0の具体的なコードを参考までに紹介します。具体的な...

CSS子要素選択親要素の実装

通常、CSS セレクターは上から下に選択し、親要素を介して子要素を選択します。では、子要素を介して親...

Linux で FTP イメージ サーバーをインストールして展開する方法

Linux で FTP サーバーを設定するためのチュートリアルを参照してください https://w...

MacにMySQLをインストールするときに初期パスワードを忘れた場合の対処方法

パスワードを忘れると困ります。Mac に MySQL をインストールするための初期パスワードを忘れて...

燃える炎効果の英語フォント16種類をシェアする

私たちは視覚の世界に住んでおり、多くの視覚効果に囲まれています。コンピューターの前にいても、屋外にい...

Docker を使ってゼロから SOLO 個人ブログを構築する方法

目次1. 環境整備2. Dockerをインストールする3. MySQLマスタースレーブデータベースを...

JavaプログラミングでJavaScriptの超実用的なテーブルプラグインを書く

目次効果ドキュメント最初のステップステップ2ステップ3ソースコード効果ドキュメント最初のステップta...

Ubuntu 20.04は静的IPアドレスを設定します(異なるバージョンを含む)

Ubuntu 20.04はnetplanを通じてネットワークを管理するため、以前のバージョンとは少...

Nginx ドメイン名の書き換えとワイルドカードドメイン名の解決を設定する方法

この記事では、ドメイン名の書き換えとワイルドカードドメイン名の解決を行うための Nginx の設定方...

優れたグラフィックデザイナーが習得すべき7つのスキル

1》ウェブデザインが得意であること2》Webページのデザイン方法を知る3》計画する4. SEOを理解...

XHTML におけるタイトルタグと段落タグの使用に関する詳細な説明

XHTML 見出しの概要Word 文書を作成するときは、「第 1 章」、「1.2.1」などのタイトル...

HTMLページ埋め込み動画とJSコントロール切り替え動画例の詳しい説明

まず、ページにビデオを埋め込むための HTML コードは次のとおりです。コードをコピーコードは次のと...