mysql---相关函数

函数-字符函数 

  • SELECT position('a' IN 'banana');   # 2
  • SELECT locate('a', 'banana');       # 2
  • SELECT locate('a', 'banana', 3);    # 4
  • SELECT locate('x', 'banana');       # 0
  • SELECT locate(1, 'banana');         # 0
  • SELECT locate('a' , NULL );         # null
  • SELECT instr('banana', 'a');        # 2
  • SELECT instr('banana', 'e');        # 0

 函数-数学函数

  • abs(); 求一个数的绝对值;absolute
  • sqrt(); 求一个数的平方根。sqrt是sqruar(平方,矩形) ,root(根)的缩写。 

 

  • 5、ceil() 进一取整。 floor()舍一取整。
  • 6、rand() 顾名思义,是用来生成随机数 

函数-日期函数 

  • select now();  获取当前时间 2018-08-30 09:44:31
  • select CURDATE(); 获取当前日期 2018-08-30
  • select CURTIME(); 获取当前时间 09:46:15
  • 格式化日期  使用data_format()函数 SELECT DATE_FORMAT(NOW(),'%m/%d/%Y')      08/30/2018
  • SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')   2018-08-30 09:51:45 
  •  
  • 获取明天、昨天当前时间 是8月30日
  • SELECT date_sub(CURDATE(),interval -1 day) 2018-08-31
  • SELECT date_sub(CURDATE(),interval 1 day)   2018-08-29
  • 获取上一个月 下一个月
  • SELECT date_sub(CURDATE(),interval 1 month) 2018-07-30
  • SELECT date_sub(CURDATE(),interval -1 month) 2018-09-30
  • 如果是年  就将month改为year SELECT date_sub(CURDATE(),interval 1 year) 2017-08-30 
  • 注:- day (减一天) 就是加一天

 函数-流程函数

比如有个员工表

IF(expr1,expr2,expr3)函数: 这里认为月薪在2000元以上的职员属于高薪,

用“high‘表示; 而2000以下的职员属于低薪, 用’low‘来表示: 

IFNULL(expr1,expr2)函数:

这个函数一般用来替换NULL值, 我们知道NULL值是不能参参与数值运算的,

下面这个语句就是把NULL值用0替换. 

CASE WHEN [value1] THEN[result1]… ELSE[default]

END函数:

这里可以用case when..then函数实现上面例子中高薪低薪的问题.

  • 2、当我们无法确定查询的准确内容时,用模糊查询是一种很好的查询方式。select * from table1 where field1 like ’value1%’;
  • 3、select也可对字段进行排序。(单字段、多字段都可以,以多字段为例) select * from table1 order by field1, field2 asc/desc ;    (asc表示升序排列,desc表示降序排列,默认升序)排序后也可选取排序序列在n至m的数据,这时加limit条件,如:select * from table1 order by field1 limit n,m;
  • 4、计数,可以对单个字段计数,也可以对表中所有数据计数。 select count(*) from table1;
  • 5、统计函数 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值