您正在使用 IPV4 [44.221.46.132] 访问本站,您本次已经查看了 1 页
用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]保护绿色环境,构建和谐社会       悟空收录网      

【腾讯云】 爆款2核2G3M云服务器首年 61元,叠加红包再享折上折      
[公益] 地球是我家,绿化靠大家      
2024年 清明节 007
2024年 劳动节 034
2025年 元 旦 279
2025年 春 节 307
 
您现在的位置:首页 >> 数据库 >> 内容
本类新增
本类热门
Mysql常用运算符与函数汇总
内容摘要: 我们先把数据表建好usetest;createtable`employee`(emp_nointunsigned,emp_namevarchar(30),emp_sexvarchar(3),emp_agetinyintunsigned,saldouble,historydatetime);insertintoemployeevalues(1,'张三','男'......
我们先把数据表建好

usetest;

createtable`employee`(

emp_nointunsigned,

emp_namevarchar(30),

emp_sexvarchar(3),

emp_agetinyintunsigned,

saldouble,

historydatetime

);

insertintoemployeevalues(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*fromemployeewheresal=3800;

select*fromemployeewheresal=null;--这里查询不到为null的数据

2:等于(<=>)

select*fromemployeewheresal<=>3800;

select*fromemployeewheresal<=>null;--这里可以查询到为null的数据

3:is判断(null)

select*fromemployeewheresalisnull;

select*fromemployeewheresalisnotnull;

4:null值判断还可以使用isnull();

select*fromemployeewhereisnull(sal);

select*fromemployeewhere!isnull(sal);

5:在区间(between)内betweenminandmaxps:这里是一个闭区间

select*fromemployeewheresalbetween4500and5000;

6:不在区间内

select*fromemployeewheresalnotbetween4500and5000;--null不为包括进去

7:and和or

select*fromemployeewheresalnotbetween4500and5000orsalisnull;

select*fromemployeewheresal=4500andemp_sex='女';

8:小于(<),大于(>),小于等于(<=),大于等于(>=)

select*fromemployeewheresal>=4500;

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

数学函数

1:rand();

selectrand()fromdual;--dual是一个伪表

select1+1fromdual;

selectrand();--可以简写

2:least(value1,value2,...)返回最小值

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

selectleast(54,76,4,65,76,87,87,56,65,654,45,23,1,76)asmin_value;--列名可以起一个别名

3:greatest(value1,value2,...)返回最大值

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

4:round(M,D);返回M的四舍五入的值,D表示要保留几们小数,默认值是0

selectround(1.69);

selectround(1.69,1);

5:abs()绝对值

select5-10;

selectabs(5-10);

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

汇总函数

1:avg();

select*fromemployeewheresal>=6000;

selectavg(sal)fromemployeewheresal>=6000;

2:count()

selectcount(*)fromemployee;

selectcount(emp_name)fromemployee;

selectcount(sal)fromemployee;--打印9这里会忽略null值

selectcount(*)fromemployeewheresal>=4000;

selectcount(*)fromemployeewheresal<=4000orsalisnull;

3:sum()

selectsum(sal)fromemployeewheresal>=6000;

4:min()

selectmin(sal)fromemployee;

5:max()

selectmax(sal)fromemployee;

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

日期函数

1:获取当前的日期时间

selectnow(),sysdate(),current_timestamp();

selectnow(6),sysdate(6),current_timestamp(6);

ps:now(),current_timestamp();没有区别,表示sql开始执行时的时间

sysdate()表示这个函数开始时间

2:获取当前日期

selectcurdate();--只有年月日

3:获取当前时间

selectcurtime();--只有时分秒

4:日期的加运算date_add

selecthistory,date_add(history,interval'112:10'day_minute)fromemployee;--date_add(history,interval'112:10'day_minute)

selecthistory,date_add(history,interval'1-1'year_month)fromemployee;--date_add(history,interval'1-1'year_month)

selecthistory,date_add(history,interval'1'second)fromemployee;--date_add(history,interval'1'second)

5:日期的减运算data_sub

selecthistory,date_sub(history,interval'1-1'year_month)fromemployee;

6:计算日期差

selecthistory,sysdate(),datediff(sysdate(),history)fromemployee;--以天数来表示

7:获取日期的指定部分(把日期转换为指定的格式)date_format()

1

selecthistory,date_format(history,'%Y年%m月%d号')fromemployee;

selecthistory,date_format(history,'%d号')fromemployee;

selecthistory,date_format(history,'%Y年%m月%d号%H时%i分%s秒')fromemployee;

8:计算出一个日期是星期几

selecthistory,dayname(history)fromemployee;

9:中文日期字符串转换日期str_to_date()

insertintoemployeevalues(11,'张飞','男',22,3000,'2017年02月01号');--报错

insertintoemployeevalues(11,'张飞','男',22,3000,str_to_date('2017年02月01号','%Y年%m月%d号%H时%i分%s秒'));

insertintoemployeevalues(12,'二哥','男',22,3000,str_to_date('2017年02月01号23时02分02秒','%Y年%m月%d号%H时%i分%s秒'));

insertintoemployeevalues(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个字符

selectleft('abcdefg',5);

2:length()

selectlength('abcdefg');

3:lower(str)返回小写的字符串str

selectlower('HELLO');

4:substring()取子字符串,第二个参数是截取的起始位置,第三个参数是要截取的长度

selectsubstring('helloworld',2,3);

5:concat()字符串拼接

selectconcat(emp_name,'员工')fromemployee;

6:replace(替换

selectreplace(emp_name,'李','老')fromemployeewhereemp_name='李四';

版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:MS SQL Server获取十二个月份的英文缩写

 

下一篇:mysql获取指定时间段中所有日期或月份的语句

发布日期:2023/2/27
手机扫二维码直达本页
发布时间:14:49:00
点  击:7
录  入:壹家怡园
相关文章
Baidu
YiJiaCMS 7.3.8 build231228(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,Cloudflare提供加速防护
运行时间载入中.....