SQLでのmod()関数の余りの使用法
2022-01-06 06:35:05
sqlのmod(a,b)はa / bの余り(つまりa % b)を意味します。
基本的な使い方:IDが偶数か奇数である必要がある場合、modを使うことができます。
mod(id,2)=1 は、id が奇数であることを意味します。
mod(id,2)=0 は id が偶数であることを意味します。
select mod(3,2) from dual
に示すように実行する。
例えば、社員のIDから男性か女性かを判断し、性別の更新を可能にする。
ID番号の17桁目、男性の場合は奇数、女性の場合は偶数
SEX CHAR(1) NOT NULL, --** 性別。1 男性、2 女性
UPDATE table_name SET
SEX = (CASE WHEN mod(identifynumber[17],2) = '1' THEN '1' ELSE '2' end)
WHERE condition;
上記は、CASE WHER文だけでなく、デコード機能も使用しています。(その DECODE関数の使用方法 )
例 テーブル1テーブル社員の性別、誕生日、年齢をID番号テーブル2に基づいて更新します。(以下は、Informixデータベースを使用しています)
update table1 set
sex = (select sex
from table2
where table2.t_id = table1.t_id
and table2.t_no = table1.t_no),
birthday = (select substr(identifiynumber,7,8)
from table2
where table2.t_id = table1.t_id
and table2.t_no = table1.t_no),
age = (select year(today) from dual) - ( select year( substr(identifiynumber,7,8) )
from table2
where table2.t_id = table1.t_id
and table2.t_no = table1.t_no)
where t_id = '';
[例】 MOD(63,8), MOD(120,10), MOD(15.5,3) に対して剰余演算を行う場合、入力SQL文と実行結果は以下のようになります。
mysql> SELECT MOD(63,8),MOD(120,10),MOD(15.5,3);
+-----------+-------------+-------------+
| MOD(63,8) | MOD(120,10) | MOD(15.5,3) |
+ -----------+-------------+-------------+
| 7 | 0 | 0.5 |
+-----------+-------------+-------------+
1 row in set (0.03 sec)
実行の結果、63÷8は7、120÷10は0、15.5÷3は0.5であることがわかります
今回の記事は、sqlのmod()関数を使って余りを求めるという内容です。sql mod()で余りを求めるについては、スクリプトハウスの過去記事を検索するか、引き続き以下の関連記事を閲覧してください。
関連
-
Spark SQL 2.4.8 データフレームを操作するための2つの方法
-
SQLインジェクションとその防止、マイベイトの基本的な役割について
-
あるユーザーの連続ログイン日数を求めるSQLクエリ
-
SQL Server 2017がサーバーに接続できない問題解決
-
SQLSERVER 変数文字列を用いたスプライシング ケース詳細
-
MySQLスレーブ遅延1列外部キーチェックとセルフインクリメントロック
-
Filestreamの簡単な使い方まとめ
-
リレーショナルデータベースと非リレーショナルデータベースの紹介
-
SQL Serverでの判定文(IF ELSE/CASE WHEN)の使用例
-
SQL SERVERオープンCDC実践講座詳細
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SQL Server テーブルパーティション削除の詳細
-
DataGrip Formatting SQLの実装(カスタムSqlフォーマット)
-
SQL Server一括挿入データ事例詳細
-
日付で年齢を判定するSQLサンプルコード 関数
-
SqlServerデータベースリモート接続ケースチュートリアル
-
SQLスキルのデータベースは、ケースを整理する
-
SQL SERVERのコミット・トランザクションのロールバック機構
-
SQLServerにおけるJSONドキュメント型データのクエリ問題を解決する。
-
SQL クエリ結果カラムのカンマ区切り文字列へのステッチング法
-
そのPHP環境の普遍的なパスワードのSQLインジェクションの脆弱性と防御手段