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 でフロートをクリアするための完全ガイド (要約)

推薦する

MySQL ファントムリードとその排除方法の詳細な説明

目次トランザクション分離レベルファントムリーディングとは何ですか?ファントムリードを排除する方法要約...

VirtualBox に CentOS、JDK、Hadoop をインストールする詳細なチュートリアル

目次1. 前提条件1.1 サポートされているプラ​​ットフォーム1.2 jdk および hadoop...

Vue3 ページ、メニュー、ルートの使用

目次1. メニューをクリックしてジャンプ1. ページ名の統一2. 管理ページを追加3. ルートを追加...

HTML でハイパーリンク タグを使用するチュートリアル

ウェブサイトのさまざまな HTML ドキュメントはハイパーリンクを通じて相互に接続され、一貫性のある...

HTML テーブル マークアップ チュートリアル (37): 背景画像属性 BACKGROUND

テーブル ヘッダーの背景画像を設定します。任意の GIF または JPEG 画像ファイルを使用できま...

sshとは何ですか?使い方は?どのような誤解があるのでしょうか?

目次序文SSHとは何かssh は何に使用されますか? sshの使い方ssh 再修正要約する序文ssh...

IDEA で Linux コマンドを使用する方法

Windows システムと比較して、Linux システムは多数の豊富なコマンドライン ツールを提供し...

MySQL データの集約とグループ化

多くの場合、データを実際に取得せずに要約する必要があり、 MySQLこの目的のために特別な関数を提供...

フロントエンドは画像を遅延ロードする方法を知っている必要があります(3つの方法)

目次1. 遅延読み込みとは何ですか? 2. 遅延読み込みを実装する🌄: 2.1 最初の方法: 2.2...

1 つの記事で MySQL のプリコンパイルを理解する

1. プリコンパイルの利点私たちは皆、プリコンパイル機能を備えた JDBC の PreparedSt...

Nginx+tomcat ロードバランシングクラスタの実装方法

実験環境は以下のとおりですここでは、4 台のサーバー (1 台の nginx、負荷用の 2 台の t...

Linux におけるドライバモジュールのパラメータ転送プロセスの分析

ドライバーモジュールに渡すパラメータ名、タイプ、権限を宣言します。 module_param(変数名...

Docker ベースの MySQL マスタースレーブレプリケーション環境を構築するための実装手順

1. はじめに以前のプログラム アーキテクチャは次の形式になります。プログラムのサイズが大きくなると...

HTML テキストエスケープのヒント

今日、CSDN で HTML テキスト エスケープのちょっとしたトリックを見ましたが、とても簡単です...

Vue-CLI マルチページディレクトリパッケージ化手順の記録

ページディレクトリ構造 デフォルトの HTML テンプレート ファイル public/index.h...