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

推薦する

ユーザーエクスペリエンスの概要

最近では、ソフトウェアやウェブサイトのいずれの作業であっても、設計時に「ユーザー エクスペリエンス」...

Vue の echarts ツールチップにクリック イベントを追加する詳細な説明

目次必要回避策1. ツールチップを設定する2. hookToolTip変数を定義する3. メソッド内...

MySQLデータベースを作成し、中国語の文字をサポートする方法

まずMySQLの公式ドキュメントを見てみましょう: 5.7 {データベース | スキーマ} を作成 ...

Docker マルチステージビルドを使用してイメージサイズを縮小する方法

この記事では、Docker のマルチステージ ビルド機能を使用してイメージ サイズを大幅に削減する方...

ウェブサイトを黒、白、グレーにする4つのコードの詳細な説明

2008年5月12日に四川省汶川市で発生した地震により、多くの命が失われ、遺憾なことと存じます。国務...

純粋なHTML+CSSでタイピング効果を実現

この記事は主に、一定の参考値を持つ純粋な HTML + CSS によって実現されるタイピング効果を紹...

HTML チュートリアル、簡単に学べる HTML 言語 (2)

*******************HTML言語入門(パート2)*****************...

React で Antd の Form コンポーネントを使用してフォーム機能を実装する方法

1. 構造部品1. フォームには、入力コントロール、標準フォーム フィールド、ラベル、ドロップダウン...

ウェブページ作成における絶対パスと相対パスの違い

1. 絶対パスまず、ローカル コンピューターでは、ファイルの絶対パスは、当然、ハード ディスク上でフ...

JS で列挙をシミュレートする方法

序文現在の JavaScript には列挙の概念がありません。一部のシナリオでは、列挙を使用するとデ...

Linux の PHP に XML 拡張機能をインストールする詳細な手順

PHP Linux に XML 拡張機能をインストールする1. PHPインストールソースパッケージを...

CentOS 7.6 仮想ネットワーク カードのバッチ追加、変更、削除操作の紹介

1 カーネルにtunモジュールがあるかどうかを確認する modinfo tun modprobe t...

Debian システムでの自動パッケージ更新の問題を解決する方法

いつから始まったのかはわかりませんが、コンピュータの電源を入れてインターネットに接続するたびに、デー...

CSS で透明なグラデーション効果を実装するためのサンプルコード

Zhihu Discovery コラムのタイトル画像は、通常、以下のように表示されます。明らかに、グ...

Linux7 ベースの Hadoop のインストールと構成の詳細なグラフィック説明

上記のように材料を準備します(ps: hadoop-3.1.2-srcはhadoop-3.1.2に変...