MySQLでよく使われる演算子と関数の概要

MySQLでよく使われる演算子と関数の概要

まずデータ テーブルを作成しましょう。

使用テスト;
テーブル「従業員」を作成します(
 emp_no int 符号なし、
 従業員名varchar(30),
 emp_sex varchar(3)、
 emp_age tinyint 符号なし、
 サルダブル、
 履歴 日時
);
従業員の値に挿入(1, '张三', '男', 18, 5000, '2012-04-23')、
(2, '李思', '男性', 27, 4500, '2013-05-23'),
(3, '王五', '男', 23, 4700, '2012-04-21'),
(4, 'Zilong', '男性', 19, 3800, '2011-03-04'),
(5, '李白', '男性', 15, 6200, '2015-09-09'),
(6, '劉備', '男性', 28, 2500, '2016-02-11'),
(7, '呂布', '男性', 21, 6000, '2010-10-18'),
(8, 'Shangxiang', '女性', 16, 4500, '2011-09-26'),
(9, '小喬', '女性', 15, null, '2013-07-05'),
(10, '大乔', '女', 16, 5000, '2017-09-01');

よく使用される演算子:
1: 等しい ( = )

 sal = 3800 の場合、従業員から * を選択します。
 select * from employee where sal = null; --ここでは null データは見つかりません

2: 等しい ( <=> )

 従業員から*を選択します。ここで、sal <=> 3800;
 select * from employee where sal <=> null; --ここでnullのデータを照会できます

3: 判断です(null)

 sal が null である employee から * を選択します。
 sal が null でない employee から * を選択します。

4: isnull() を使用して null 値を判定することもできます。

 従業員からisnull(sal)となる*を選択します。
 !isnull(sal) である従業員から * を選択します。

5: 最小値と最大値の間 ps: これは閉じた区間です

select * from employee where sal between 4500 and 5000;

6: 範囲外

select * from employee where sal not between 4500 and 5000;

7: およびおよびまたは

 給与が 4500 から 5000 の間ではない、または給与が null である従業員から * を選択します。
 sal = 4500 かつ emp_sex = '女' の場合、従業員から * を選択します。

8: より小さい (<)、より大きい (>)、以下 (<=)、以上 (>=)

select * from employee where sal >= 4500;

******************************************************************************************************************************************

数学関数
1: ランド();

 select rand() from Dual; --dual は疑似テーブルです select 1+1 from Dual;
 select rand(); --省略可能

2: least(value1, value2, ...) は最小値を返します

 最小(54,76,4,65,76,87,87,56,65,654,45,23,1,76)を選択します。
 select least(54,76,4,65,76,87,87,56,65,654,45,23,1,76) as min_value; --列名には別名を付けることができます

3: greatest(value1, value2, ...)は最大値を返します

select greatest(54,76,4,65,76,87,87,56,65,654,45,23,1,76);

4: round(M, D); M の丸められた値を返します。D は小数点以下の桁数を示します。デフォルト値は 0 です。

 round(1.69)を選択します。
 round(1.69, 1)を選択します。

5: abs() 絶対値

 5~10を選択
 abs(5-10)を選択します。

******************************************************************************************************************************************

要約機能

1: 平均();

 給与が 6000 以上である従業員から * を選択します。
 sal >= 6000 の従業員から avg(sal) を選択します。

2: カウント()

 従業員からcount(*)を選択します。
 従業員からcount(emp_name)を選択します。
 select count(sal) from employee; --print 9. ここではnull値は無視されます。select count(*) from employee where sal >= 4000;
 sal <= 4000 または sal が null の場合、employee から count(*) を選択します。

3: 合計()

select sum(sal) from employee where sal >= 6000;

4: 最小値()

select min(sal) from employee;

5: 最大()

select max(sal) from employee;

******************************************************************************************************************************************

日付関数

1: 現在の日付と時刻を取得する

 now()、sysdate()、current_timestamp() を選択します。
 now(6)、sysdate(6)、current_timestamp(6)を選択します。
 ps: now()、current_timestamp(); 違いはありません。SQL の実行が開始された時刻を示します。sysdate() はこの関数の開始時刻を示します。

2: 現在の日付を取得する

select curdate(); --年、月、日のみ

3: 現在の時刻を取得する

select curtime(); --時間、分、秒のみ

4: 日付追加操作 date_add

 従業員から history、date_add(history、interval '1 12:10' day_minute) を選択します。--date_add(history、interval '1 12:10' day_minute)
 従業員から history、date_add(history、interval '1-1' year_month) を選択します。--date_add(history、interval '1-1' year_month)
 従業員から history、date_add(history、interval '1' 秒) を選択します。--date_add(history、interval '1' 秒)

5: 日付減算演算 data_sub

select history, date_sub(history, interval '1-1' year_month) from employee;

6: 日付差を計算する

select history, sysdate(), datediff(sysdate(), history) from employee; --以天數來表示

7: 日付の指定された部分を取得する(日付を指定された形式に変換する)date_format()

 従業員から history、date_format(history、'%Y 年 %m 月 %d 数値') を選択します。
 従業員から history, date_format(history, '%d号') を選択します。
 employee から history, date_format(history, '%Y 年 %m 月 %d 日 %H 時間 %i 分 %s 秒') を選択します。

8: 日付の曜日を計算する

select history, dayname(history) from employee;

9: 中国語の日付文字列変換 date str_to_date()

 insert into employee values(11, '张飞', '男', 22, 3000, '2017年02月01号'); --エラー insert into employee values(11, '张飞', '男', 22, 3000, str_to_date('2017年02月01号', '%Y年%m月%d号%H時%i分钟%s秒'));

従業員の値に挿入(12, '次男', '男性', 22, 3000, str_to_date('2017-02-01 23:02:02', '%Y 年 %m 月 %d 日 %H 時間 %i 分 %s 秒'));
従業員の値に挿入(12, '次男', '男性', 22, 3000, str_to_date('2017-02-01 11:02:02', '%Y 年 %m 月 %d 日 %h 時間 %i 分 %s 秒'));
ps: h の場合は 12 時間制、大文字の H の場合は 24 時間制を意味します。

文字列関数

1: left(str, len)は文字列strの左端からlen文字を返します。

select left('abcdefg', 5);

2: 長さ()

select length('abcdefg');

3: lower(str)は小文字の文字列strを返します。

select lower('HELLO');

4: substring() は部分文字列を受け取り、2 番目のパラメータはインターセプトの開始位置、3 番目のパラメータはインターセプトする長さです。

select substring('helloworld',2,3);

5: concat() 文字列連結

select concat(emp_name, '員工') from employee;

6: 置き換える

select replace(emp_name, '李', '老') from employee where emp_name = '李四';

以下もご興味があるかもしれません:
  • MySQL Where 条件文の紹介と演算子の概要
  • MySQLで使用される演算子の例
  • MySQL ノート: 演算子の使用法の詳細な説明
  • mySQL UNION演算子のデフォルトルールの研究
  • MSSQL との比較で MYSQL を学ぶ (V) - 演算子
  • MySql における特殊演算子の使用の概要
  • MySQLの演算子をステップバイステップで教えます

<<:  Linux でファイル内の特定の文字の数を数える方法

>>:  JavaScriptのポイントごとのシリーズでこれは何ですか

推薦する

React Contextの理解と応用についてお話ししましょう

目次序文React Context の初見コンテキストの使い方コンテキストを直接取得できるいくつかの...

Linuxの読み取りコマンドの使用

1. コマンドの紹介read コマンドは、シェルの組み込みコマンドで、標準入力または -u オプショ...

MySQL ビューの一貫性を確保する方法の詳細な説明 (チェック オプション付き)

この記事では、例を使用して、MySQL ビューの一貫性を確保する方法 (チェック オプションを使用)...

MySQL スロークエリログの有効化と設定

導入MySQL スロー クエリ ログは、問題のある SQL ステートメントのトラブルシューティングや...

docker compose を使用して fastDFS ファイル サーバーを構築する方法

前回の記事では、docker compose を使用して FastDfs ファイル サーバーをインス...

Linux (Ubuntu 18.04) に vim エディタをインストールする方法

デスクトップ システムをダウンロードするには、Ubuntu の公式 Web サイト (https:/...

Linux でパスワードの有効期限を表示および設定する方法

適切な設定を行うことで、Linux ユーザーにパスワードを定期的に変更させることができます。パスワー...

IDEA に基づいて Tomcat サーバーを展開するための詳細な手順

目次導入ステップ1ステップ2: アイデアで動的Webプロジェクトを作成するステップ3: Tomcat...

Navicatは機能ソリューション共有を作成できません

初めて MySQL FUNCTION を書いたとき、エラーが何度も発生しました。 Err] 1064...

dockerにros2をインストールするための詳細な手順

目次メイントピック1. UbuntuにDockerをインストールする2. DockerにROS2-F...

動的画像読み込み技術の応用とjquery.lazyloadプラグインの使用例

アプリケーション例ウェブサイト http://www.uhuigou.net画像の動的読み込みは目新...

CentOS 上での MySQL 5.6 のコンパイルとインストール、および複数の MySQL インスタンスのインストールの詳細な説明

--1. mysql用の新しいグループとユーザーを作成する # ユーザー追加 -M -s /sbin...

HTML Web ページ リスト タグ学習チュートリアル

HTML Web ページ リスト タグの学習チュートリアル。 HTML ページでは、リストはアウトラ...

Logrotate は 2 時間ごとに Catalina.out ログローテーションを実装します

1. Logrotateツールの紹介Logrotate はログファイル管理ツールです。Linux に...

Docker 環境で JMeter+Grafana+influxdb ビジュアル パフォーマンス監視プラットフォームを構築するチュートリアル

目次1. Dockerをインストールする2. influxDBをインストールして設定する3. Gra...