标签:
#mySql的数学函数
select ABS(-5); #绝对值
select ceiling(-5.8); #取大整数
select floor(-5.8); #取小整数
select LEAST(10,3,23,40,0);#取最小数
select GREATEST(1,23,4,6,9,12,9);#取最大数
select MOD(10,3);#除余
select PI();#π的值
select RAND(2);#随机数
select ROUND(10.4367,3);#四舍五入 取后面三位小数
select TRUNCATE(10.12321,2); #后两位截断函数
select SIGN(3.4);#判断正负数 负数返回-1 ,正数返回1 0 返回 0
select COS(1);#余弦函数
select DEGREES(1);#弧度转换为角度
select Power(2,3);#二的三次方 Pow 简写
select SQRT(4);#开方
#聚合函数
select AVG(a.sex) from `user` a; #平均值
select MAX(a.sex) from `user` a; #最大值
select MIN(a.sex) from `user` a; #最小值
select SUM(a.sex) from `user` a; #求和
select COUNT(a.sex) from `user` a; #统计个数
select STD(a.sex) from `user` a; #标准偏差
#字符串处理函数
select LENGTH(‘hello‘);#取长度
select LCASE(‘hello‘);#取小写
select UCASE(‘hello‘);#取大写
select STRCMP(‘hello‘,‘yes‘);#比较两个字符串的大小(开头字母的顺序)hello>yes:1 hello<-1>
select position(‘yes‘ IN ‘hyesman‘);#字符串查找定位
select replace(‘yes‘,‘y‘,‘hello‘);#替换字符串
select insert(‘yes man!‘,2,3,‘hello‘);#插入函数2,3位之间插入
select concat(‘hello‘,‘world‘);#合并函数
select concat_ws(‘:‘,‘world‘,‘hello‘);#加上间隔符号合并
select left(‘helloworld‘,3);#取左边的前三个字符
select right(‘hello‘,3);#取最后面三个字符
select ltrim(‘ hello ‘);#去出左边空格
select rtrim(‘ hello ‘);#去除右边空格
select trim(‘ hello ‘);#去除佐佑两边空格
select substring(‘macket‘,2,3);#从第二位开始往后取三位字符串
#日期函数
select now();#取现在的是时间
select curtime();#取当前时间
select curdate();#去现在的时间
select year(‘20160609‘);#取年份
select month(‘2016-06-09‘);#取月份
select monthname(‘2016-06-09‘);#取月份的英文名称
select dayofyear(‘2016-06-09‘);#这一年中的第几天
select dayofweek(‘2016-06-09‘);#在一个星期中的第几天
select dayname(‘2016-06-09‘);#Thursday 取星期
select hour(‘14:56‘);# 取小时
select minute(‘14:56‘);# 取分钟
select second(‘14:56:23‘);#取秒
select date_add(now(),interval 3 year);#当前时间往后推三年
select date_add(now(),interval 3 month);#当前时间往后推三个月
select date_add(now(),interval 3 day);#当前时间往后推三天
select date_sub(now(),interval 3 day);#当前时间往前推三天
select date_sub(now(),interval 3 month);#当前时间往前推三个月
select date_sub(now(),interval 3 year);#当前时间往前推三年
#对日期格式化函数
#W:星期几 D:那一天 M:月份 Y:年份 r:当前时间
select date_format(now(),‘%W %D %M %Y %r‘);
select date_format(now(),‘%w %d %m %y %r‘);
#时间,格式化 100个小时 21分,12秒
select time_format(‘100:21:12‘,‘%h:%i %p‘);
#数字转换IP地址 & IP地址转换成一个数字
select inet_aton(‘192.168.11.133‘);
select inet_ntoa(‘3232238469‘);#
#类型转换函数
select 1 + ‘99‘;
select 1 + cast(‘99‘ as signed)
#加了 binary 区分大小写
select ‘f‘=binary ‘F‘,‘f‘=cast(‘F‘ as binary);#转二进制
select convert(‘23‘,signed);#数值,转换数据类型
#mySql的数据加密函数
select password(‘secret‘),password(‘secret‘);#加密过程不可逆,同一字符串加密相同
select encrypt(‘secret‘,‘abc‘);#
select encode(‘tanmujiang‘,‘key‘);#互相可逆加密效果,key为解密效果
select decode(encode(‘tanmujiang‘,‘key‘),‘key‘);#解密
select aes_encrypt(‘secret‘,‘key‘);#aes加密
select aes_decrypt(aes_encrypt(‘secret‘,‘key‘),‘key‘);#解密
select MD5(‘secret‘);#MD5加密
select SHA(‘secret‘);#SHA加密
#mySql控制流函数
select if(1<10,2,3);#相当于三元表达式
select ifnull(1,2);#如果第一个字符为空,返回本身 1,否则返回二
select ifnull(null,2);#返回2
select nullif(1,2);#如果第一个参数和第二个参数相等返回1,相等返回null
select nullif(1,1);#返回null
#如果前面条件成立,返回一个指定值
SELECT
CASE 4
WHEN 0 THEN
‘一等奖‘
WHEN 0 THEN
‘二等奖‘
WHEN 3 THEN
‘三等奖‘
ELSE
‘幸运奖‘
END;
SELECT
CASE ‘green‘
WHEN ‘red‘ THEN
100
WHEN ‘green‘ THEN
200
ELSE
300
END;
#最后记录一个逼格高点清空表数据方法
truncate table visit;
标签:
-1>