mysql データ型変換の実装

mysql データ型変換の実装

1. 問題

下図のような表があり、結果値がreference_high値より大きいデータを見つける必要があります。

次に、次のSQLクエリを書きました。

SELECT i.result,i.reference_high FROM report_item i
LEFT JOIN レポート r ON r.id=i.report_id 
r.org_id=54 かつ r.report_status=1 の場合
r.add_date が '2020-12-01' から '2020-12-28' の間 
AND i.reference_high<>'' AND i.result<>''
かつ、i.result > i.reference_high ;

実行して結果を表示します

クエリ結果が期待どおりではありません。クエリ条件 i.result > i.reference_high を満たさないデータが多数あります。

2. ポジショニング

テーブルを作成するための SQL ステートメントを確認すると、result と reference_high は numeric 型ではなく varchar 型であるため、クエリ結果が期待どおりにならないことがわかりました。

3. 解決策

方法1: テーブルフィールドのデータ型を数値に変更する

ただし、ビジネスでの使用シナリオを考慮すると、両方のフィールドに数値以外の入力がある可能性があるため、これは実現可能ではありません。

方法2: クエリステートメントを変更し、データ型を数値型に変換する

上記のデータを例に挙げると

1. 暗黙的な変換: 比較する文字列に 0 を追加して比較します。データは正常にフィルタリングされます。

2. 表示変換

(1)convert関数を使用する:文字列を浮動小数点数に変換し、比較すると、データが正常にフィルタリングされます。

(2)キャスト関数を使う:convert関数とほぼ同じ

これで、MySQL データ型変換の実装に関するこの記事は終了です。MySQL データ型変換に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySql データ型チュートリアル例の詳細な説明
  • MySQL 5.7 共通データ型
  • MySQLはIDに適切なデータ型を選択します
  • MySQL データ型の選択原則
  • mysql 10進データ型変換の実装
  • MySQL データ型 DECIMAL の使用方法の詳細な説明
  • MySQL の 10 進数データ型の小数点埋め込み問題の詳細な説明
  • MySQL データ型の詳細

<<:  ethers.js を使用して Solidity スマート コントラクトをデプロイする方法

>>:  CSS でフロートをクリアするための完全ガイド (要約)

推薦する

TinyEditorはシンプルで使いやすいHTML WYSIWYGエディタです

数日前、国産の XHTML エディタを紹介しました。今日は、有名な海外の Web デザイン ブログl...

プロセスごとにネットワーク帯域幅を監視する Linux ツール Nethogs のインストールと展開

概要Linux 用のオープン ソース ネットワーク監視ツールは数多くあります。たとえば、帯域幅の使用...

docker compose を使ってワンクリックで分散構成センター Apollo を展開するプロセスの詳細な説明

導入分散について話すときは、分散構成センター、分散ログ、分散リンク トラッキングなどについて考える必...

Windows および Linux で tomcat9 を介して war パッケージを手動で展開する方法

Windows 環境と Linux 環境では結果が異なります。ウィンドウズステップ 1: Maven...

MySql 範囲内の検索時にインデックスが有効にならない理由の分析

1 問題の説明この記事では、確立された複合インデックスをソートし、レコード内の非インデックス フィー...

素晴らしいCSS属性MASKの詳しい説明

この記事では、CSS の非常に興味深い属性マスクを紹介します。名前が示すように、マスクはマスクと翻訳...

docker-compose を使用して MySQL を実行する方法

ディレクトリ構造 。 │ .env │ docker-compose.yml │ └─mysql ├...

テキストスクロール後の自動停止効果の例

効果は非常にシンプルで、次のコードを自分のページにコピーして実行するだけです。コードをコピーコードは...

MySQL パラメータ関連の概念とクエリ変更方法

序文:以前の記事では、特定のパラメータの機能についてよく紹介してきました。しかし、MySQL パラメ...

MySQL エラー 1290 (HY000) の解決方法

私は長い間問題に取り組み、文法上の問題を何度も確認しました。しかし、後でネットで調べてみたら、突然理...

MySQL 外部キー制約の詳細な説明

公式ドキュメント: https://dev.mysql.com/doc/refman/5.7/en/...

Reactでpropsを使用する方法と制限する方法

コンポーネントの props (props はオブジェクトです)機能: コンポーネントに渡されたデー...

MySQL Community Server 圧縮パッケージのインストールと設定方法

今日は、MySQL をインストールしたかったので、公式 Web サイトにアクセスして、MySQL の...

CSSオーバーフローメカニズムについての簡単な説明

CSS オーバーフローのメカニズムを詳細に学ぶ必要があるのはなぜですか?実際の開発プロセスでは、コン...

Docker を使用して MySQL 5.7 および 8.0 マスター スレーブ クラスターをデプロイする方法

> MySQL 5.7 クラスタ マスターとスレーブをデプロイする (テストのみ)イメージバー...