【数据库】4函数

来源:互联网 发布:网络歌曲免费下载 编辑:程序博客网 时间:2024/05/16 17:28

十函数

1集合函数 函数(distinct 列\值) avg() 平均值 和group by使用,计算每一组平均值;avg(price),avg(length)多个求平均值都加avg count() 行数 select cound(id) from 表 group by num; max() 最大值 不分组返回一个值,并且可以判断字符最大,和group by使用返回每个组最大值 min() 最小值 sum() 和 和group by使用,计算每一组总和
2null函数 if null(a,b) if null(1,2);2,if null(null,10);10,if null(110,’wrong’);wrong null if(a,b) ab相等,返回null,否则返回a if(a,b,c) a为true且≠0且不空,返回b is null(a) a为空返回ture
3数学函数 绝对值 ABS(x) select ABS(-2);→2 圆周率 Pi() select Pi;→3.141593 平方根 SQRT(X) select SQRT(9),(-49)→3,null 求余 MOD(X,Y) select MOD(31,8)(45.5,6)→7,3.5 取整 CEIL(X)、CEILING(X)、FLOOR(X) ① 随机 RAND()、RAND(X)(0≤v≤1.0) x产生重复序列② 四舍五入 ROUND(X)、ROUND(X,Y) TRUN(ATE(X,Y)③ 符号 SIGN(X) 负:-1,0:0,正:1 幂 POW(X,Y),POWER(X,Y),EXP(X) 对数 LOG(X),LOE10(X) 弧度 RADIANS(X),DEGREES(X) 三角 SIN(X),COS(X),TAN(X) ASIN(X),ACOS(X),ATAN(X)

①取整:
select CEIL(-3.35),CEILONG(3.35);
-3,4 返回不大于x的最小整数
select FLOOR(-3.35),FLOOR(3.35);
-4,3 返回不大于x的最大整数

②随机
select RAND(),RAND(10),RAND(10);
0.12754744……,0.657051……,0.657051……

③四舍五入
select ROUND(-1.14);-1最接近x的整数
select ROUND(1.38,.1),ROUND(1.38,0),ROUND(232.28,-1),ROUND(232.28,-2)
1.4,1,230,200
最接近x的数,y小数个数(y为负,小数点左边直接为0,不四舍五入)
select

select TRUNCATE(1.31,1),TRUNCATE(1.99,1),TRUNCATE(1.99,0),TRUNCATE(1.99,-1)
1.3,1.9,1,10
舍去至小数点y位的数字,y为0,不带小数,y为负,截取小数点左边y位

4字符串函数 长度 CHAR LENGTH(str) 合并 CONCAT(X,X1,X2)→XX1X2 CONCAT_WS(X,X1,X2)→X1XXX2 替换 INSERT(S1,X,len,s2) ① 大小写 LowER(str),LCASE(str)小 UPPER(str),UCASE(str) 指定长度 LEFT(S,N),RIGHT(S,N) 填充 LPAD(S1,len,S2)左填 RPAD(S,len,s2)右填 删除空格 LTRIM(S)删左,RTRIM(S)删右 TRIM(s)都删 删除指定字符 TRIM(S1 from s) s可以为空格 重复生成字符串 REPEAT(S,N) S:字符,N:重复次数 空格 SPACE(n) ② 替换 REPLACE(S,S1,S2) ③ 比较字符大小 STRCMP(S1,S2) S1>S2→1;S1 < S2→-1;S1=S2→0 子串 SUBSTRING(S,N,len)MID(S,N,len) 相同 len<1→null④ 子串位置 LOCATE(str1,str),POSITION(str in str) INSTR(str1,str2)三相同 逆序 REVERSE(S) 指定位置字符 ELT(N,字符1,字符n)ELT(2,’a’,’b’)b ELT(2,’a’,’b’)null 指定字符位置 FIELD(‘指定,’字符1’,’字符2’,’指定’); 3 子串位置 FIND_IN_SET(‘子串,’A,B,子串,d’); 3⑤ 选取字符串 MAKE_SET(X,S1,S2……) ⑥

①替换
s1始于x位置,len长度,替换成s2
x超出长度,返回原始字符
len长度小于s1,s2,从开始替换
参数一个为null,返回null
②空格
select CONCAT(‘(‘,SPACE(6),’)’)→( )
③替换
select REPLACE(‘xxx.mysql.com’,’x’,’w’);|www.mysql.com
④子串
s从n个数len长度
select SUBSIRING(‘breakfast’,5),SUBSIRING(‘lunch’,3),SUBSIRING(‘lunch’,-5,3);kfast,nch,lun
⑤子串位置
select INSTR(‘football’,’ball’);5
⑥选取字符串:查看字符集
show variables like ‘character_set_%’;
my.ini→dafault-character_set_gbk(character-set-seriver)

5日期时间 当前日期 CURDATE()CURRENT_DATE()相同2011-07-24,CURDATE+0:20110724 当前时间 CURTIME(),CURRENT_TIME()相同;→10:21:34,CURTIME()+0:102134.000000 当前日期和时间 CURRENT_TIMESTAMP(),LOCALTIME(),NOW(),SYSDATE(),2017-07-24 10:28:00 时间戳 UNIX_TIMESTAMP(),UNIX_TIMESTAMP(NOW())相同,FROM UNIXTIME(‘131147609’)→2011-07-24 10:54:51;FROM_UNIXTIME(DATE) DATE→格林标准时间 UTC日期 UIC_DATE()→2011-07-24 UTC_DATE+0→20110724 UTC时间 UIC_TIME()→03:11:29 UTC_DATE+0→031129.000000 月份 MONTH(DATE),MONTHNAME(DATE) DATE=2011-02-13→2和February 星期 DAYNAME(d),DAYOFWEEK(D)日:1,WEEKDAY(D)1:0,2:1,日:6 d=2011-02-13 星期数 WEEK(d),WEEKOFYEAR(d) 天数 DAYOFYEAR(d),DAYOFMONTH(d) 获取年份 YEAR(‘11-02-03’)→2011 获取季度 QUARTER(‘11-04-01’)→2,范围1-4 获取分钟 MINUTE(‘11-02-03 10:10:03’)→10,范围0~59 获取秒 AECOND(‘10:05:03’);→03 日期指定 YEAR FROM(‘2011-07-12’ 01:02:03)→2011 (EXTRACTC) YEAR_MONTH FROM(‘2011-07-12’ 01:02:03)→201107 YEAR_DAY FROM(‘2011-07-12’ 01:02:03)→120102 转为秒 TIME_TO_SEC(‘23:23:00’)→84180 h*3600+n*60+s 转为时间 SEC_TO_TIME(‘2345’)→00:39:05 加天 DATE_ADD(‘2010-12-31 23:59:59’,INTERVAL 1 SECOND)=ADDDATE() 减天 DATE_SUB(‘2010-12-31 23:59:59’,INTERVAL 31 DAY=SUBDATE() 加时间 ADDTIME(2010-12-31 23:59:59’,’1:1:1’) 减时间 SUBTIME(2010-12-31 23:59:59’,’1:1:1’) 差 DATEDIFF(date1,date2)date1-date2 获取年、月、日 dt=’2010-10-01 12:00:30’ LEFT(dt,4) MID(dt,6,2)
6条件判断函数 IF(1<2,’yes’,’no’);IF(STRCMP(‘TEST’,’TEST1’),’no’,’yes’) yes,no CASE 2 WHEN 1 THEN’one’ WHEN 2 THEN ‘two’ ELSE ‘more’ END two CASE WHEN 1<0 THEN’true’ ELSE’false’END false
7系统信息函数 版本号 VERSION();5.5.13 服务器连接次数 CONNECTION_ID();3 用户连接信息 show PROCESSLIST; 数据库名 DATABASE(),SCHEMA() 用户名 USER(),CURRENT_USER(),SYSTEM_USER() 字符集 CHARSET(‘abc’);utf8 排序方式 COLLATION(str) 自动生成最后ID LIST_INSERT_ID() (一次插入一条) 最后一个 (一次插入多条) 插入之前最后一个id+1 加密函数 PASSWORD(str),MD5(str),ENCODE(str,pswd_str) 解密函数 DECODE(ENCODE(‘secret’,’cry’),’cry’→secret
8集合运算 select * from 表 union select * from 表 交 union 并 interect 差 minusc
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 夏天带饭容易馊怎么办? 保温饭盒里有气打不开怎么办 保温饭盒摔了一下打不开怎么办 饭盒跟盖子盖一起打不开怎么办 玻璃杯子盖被水吸住打不开怎么办 电饭煲热剩饭没加水怎么办 微波炉碗盖子吸住了怎么办 微波炉转饭盖子吸住了怎么办 玻璃碗放进微波炉打不开怎么办 乐扣微波炉加热后打不开怎么办 美的微波炉盖子打不开怎么办 美的微波炉门都打不开了怎么办 饭煮好了有异味怎么办 一正常吃饭就胖怎么办 高铁盒饭没15的怎么办 上火车前票丢了怎么办 减肥期吃了汉堡怎么办 寿司店鳗鱼有刺怎么办 吃泡面胃难受该怎么办 吃上火的东西脸上长痘痘怎么办 减肥期间吃撑了怎么办 喝了变质的牛奶怎么办 绿豆糕吃多了会怎么办 小孩抓米饭烫了手怎么办 减肥不来月经了怎么办 吃了馊了的米饭怎么办 饭在冰箱里硬了怎么办 剩米饭反潮了怎么办 吃馊米饭中毒后怎么办? 蒸熟的米饭发黄怎么办 孕妇肉类吃的少怎么办 大米饭坏了吃了怎么办 米饭煮糊了锅怎么办 减肥吃了猪肉脯怎么办 吃了硬米饭胃痛怎么办 宝宝吃了硬物怎么办 米饭卡在喉咙里了怎么办 喉咙里卡了米饭怎么办 孕妇吃了坏鹅蛋怎么办 1岁大宝宝长短腿怎么办 行测中的判断推理怎么办