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 のジオメトリ型を使用して経度と緯度の距離の問題を処理する方法

テーブルを作成する テーブル `map` を作成します ( `id` int(11) NULLではな...

Vue フロントエンド開発補助機能状態管理詳細例

目次マップ状態マップゲッターマップミューテーションマップアクション例まとめマップ状態コンポーネントが...

Linux sftp コマンドの使用法

SFTPの概念sftp は、安全なファイル転送プロトコルである Secure File Transf...

MySQLはJSON内部フィールドを抽出し、数値としてダンプします

目次背景問題分析1. 属性値はJson形式であり、Json操作関数を使用して処理する必要があります。...

テキストエリアのテキストをHTMLに変換する方法、つまり復帰改行について

説明: テキストエリアの値の改行を新しい行に変更しますコードをコピーコードは次のとおりです。 <...

Baidu百科事典UIの開発動向について議論する

<br />百度百科事典の正式版がついにオンラインになりました。2年間の「テスト版」の帽...

Docker バインディング固定 IP/クロスホストコンテナ相互アクセス操作

序文これまでは、パイプワークで割り当てた静的 IP は一時的なものであり、再起動すると無効になってい...

組み込み Linux 開発環境で ping と nfs を構築するためのソリューション

1. 組み込みソフトウェアレベル 1) ブートローダ -> ブートローダ組み込みシステム全体の...

Vueは、サイドナビゲーションバーをタブページに関連付けるサンプルコードを実装します。

目次テクノロジースタック効果分析するテクノロジースタックサイドバー用Antdtabは要素を使用します...

HTML の doctype とエンコーディングに関する簡単な説明

文書タイプDoctype は、指示を解析するためにどのバージョンの HTML を使用するかをブラウザ...

モバイルウェブサイトの開発に関するいくつかの結論

ウェブサイトのモバイル版には、少なくともいくつかの基本機能が必要です。 1. ページの適用性の問題:...

Linux Centos8 CA証明書作成チュートリアル

必要なファイルをインストールする Yum インストール openssl-* -yデータベースインデッ...

CentOS仮想マシンの時刻を変更する方法

上はシステム時間、下はハードウェア時間です。ここでは変更を加えているので、同じくらいの速さになってい...

jsはテーブルドラッグオプションを実装します

この記事の例では、テーブルドラッグオプションを実装するためのjsの具体的なコードを参考までに共有して...

MySQL 5.7.23 バージョンのインストールチュートリアルと設定方法

MySQL を自分でインストールするのに 3 時間かかりました。チュートリアルはたくさんあるにもかか...