この記事では、MySQL でよく使用される演算子と一般的な関数の使用法と例をまとめています。必要な方は参考にしてください。まず例を見てみましょう。
use test; create table `employee`( emp_no int unsigned, emp_name varchar(30), emp_sex varchar(3), emp_age tinyint unsigned, sal double, history datetime ); insert into employee values(1, '张三', '男', 18, 5000, '2012-04-23'), (2, '李四', '男', 27, 4500, '2013-05-23'), (3, '王五', '男', 23, 4700, '2012-04-21'), (4, '子龙', '男', 19, 3800, '2011-03-04'), (5, '李白', '男', 15, 6200, '2015-09-09'), (6, '刘备', '男', 28, 2500, '2016-02-11'), (7, '吕布', '男', 21, 6000, '2010-10-18'), (8, '尚香', '女', 16, 4500, '2011-09-26'), (9, '小乔', '女', 15, null, '2013-07-05'), (10, '大乔', '女', 16, 5000, '2017-09-01');
1: ( = ) に等しい
select * from employee where sal = 3800; select * from employee where sal = null; --这里查询不到为null的数据
select * from employee where sal <=> 3800; select * from employee where sal <=> null; --这里可以查询到为null的数据
3: 判定 (null) です
select * from employee where sal is null; select * from employee where sal is not null;
4: null 値の判定には isnull(); も使用できます
select * from employee where isnull(sal); select * from employee where !isnull(sal);
5: min と max の間の間隔 (間) 内 ps: これは閉じた間隔です
select * from employee where sal between 4500 and 5000;
6: 範囲内ではありません間隔
select * from employee where sal not between 4500 and 5000; --null不为包括进去
7 : and and or
select * from employee where sal not between 4500 and 5000 or sal is null; select * from employee where sal = 4500 and emp_sex = '女';
8: より小さい (<)、より大きい (>)、以下 (<=)、以上(>=)
select * from employee where sal >= 4500;
<span style ="font-family: "Microsoft Yahei", "Hiragino Sans GB", Helvetica, "Helvetica Neue", å¾®è½ ̄é›…é»',タホマ、エリアル、サンセリフ;">***** ********************************** **************** ********************************* ***************** ******</span><br/>
数学関数
1: rand();
<span style="font-family: "Microsoft Yahei", "Hiragino Sans GB", Helvetica, "Helvetica Neue", 微软雅黑, Tahoma, Arial, sans-serif;">***************************************************************************************************************</span><br/>
select rand() from dual; --dual是一个伪表 select 1+1 from dual; select rand(); --可以简写
select least(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
select round(1.69); select round(1.69, 1);
select 5-10; select abs(5-10);
4: min()
select * from employee where sal >= 6000; select avg(sal) from employee where sal >= 6000;
5: max()
select count(*) from employee; select count(emp_name) from employee; select count(sal) from employee; --打印9 这里会忽略null值 select count(*) from employee where sal >= 4000; select count(*) from employee where sal <= 4000 or sal is null;
***** ************************* ************************* ************************ ************************** ******
日付関数
1: 現在の日付と時刻を取得します
select sum(sal) from employee where sal >= 6000;
2: 現在の日付を取得します
select min(sal) from employee;
3: 現在の時刻を取得します
select max(sal) from employee;
4: 日付 加算演算 date_add
select now(), sysdate(), current_timestamp(); select now(6), sysdate(6), current_timestamp(6); ps: now(), current_timestamp();没有区别, 表示sql开始执行时的时间 sysdate()表示这个函数开始时间
5: 減算演算日付の data_sub
select curdate(); --只有年月日
6: 日付の差を計算します
select curtime(); --只有时分秒
select history, date_add(history, interval '1 12:10' day_minute) from employee; --date_add(history, interval '1 12:10' day_minute) select history, date_add(history, interval '1-1' year_month) from employee; --date_add(history, interval '1-1' year_month) select history, date_add(history, interval '1' second) from employee; --date_add(history, interval '1' second)
select history, date_sub(history, interval '1-1' year_month) from employee;
select history, sysdate(), datediff(sysdate(), history) from employee; --以天数来表示
従業員の値に挿入(12, '次兄', '男性', 22, 3000, str_to_date('2017 年 2 月 1 日 11:02:02', '%Y 年 %m 月 %d 数値 %h 時間% i 分 %s 秒'));
ps: h、H が大きい場合は 24 時間を意味します
文字列関数
select history, date_format(history, '%Y年%m月%d号') from employee; select history, date_format(history, '%d号') from employee; select history, date_format(history, '%Y年%m月%d号 %H时%i分%s秒') from employee;
select history, dayname(history) from employee;
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秒'));
select left('abcdefg', 5);
select length('abcdefg');
select lower('HELLO');
以上がMysql の演算子と関数の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。